<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.cumuluswiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=HansR</id>
	<title>Cumulus Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.cumuluswiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=HansR"/>
	<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/a/Special:Contributions/HansR"/>
	<updated>2026-05-05T12:58:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12380</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12380"/>
		<updated>2026-04-19T17:40:12Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.3.0 .NET10 (xx/xx/xx) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.3.0 .NET10 (19/04/26) ==== &lt;br /&gt;
#PHP upload: The usage of PHP upload procedure is now protected by a semaphore to limit the number of parallel uploads. Initially defaults to the CMX value but can be modified.&amp;lt;/br&amp;gt;New parameter: &#039;&#039;MaxConcurrentUploads=&#039;&#039;&lt;br /&gt;
#PHP upload: For systems which have a limit on the HTTP Post calls, a delay is implemented slowing down the nr of uploads per minute.&amp;lt;/br&amp;gt;New parameter: &#039;&#039;delayMilliSeconds=0&#039;&#039; (default)&lt;br /&gt;
#Thrifty: Fix; Thrifty did not work if it was written after &#039;&#039;website&#039;&#039;. Now &#039;&#039;website thrifty&#039;&#039; and &#039;&#039;thrifty website&#039;&#039; both work&lt;br /&gt;
#Forecast: with the disappearance of &#039;&#039;yourweather&#039;&#039; a new forecast has been created. Keyword &amp;quot;CUtils&amp;quot;, a charted forecast based on &#039;&#039;Open Meteo ECMWF IFS HRES 9km&#039;&#039;&lt;br /&gt;
#Forecast: Added Info to the charts especially the links to the ECWMF info and the link to the Open Meteo site.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.3 .NET10 (10/04/26) ==== &lt;br /&gt;
#Website: Modified the license menu choice in the &#039;&#039;About&#039;&#039; menu to align with the new Highcharts EULA.&lt;br /&gt;
#Website: Fixed: if Parameter value has webtag(s) in it only one webtag is processes and the rest of the text is lost.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.2 .NET10 (27/03/26) ==== &lt;br /&gt;
#pwsFWI: fixed the failing of &#039;&#039;pwsFWI&#039;&#039; if &#039;&#039;latitude&#039;&#039; and/or &#039;&#039;longitude&#039;&#039; is only 4 characters or less (e.g. &#039;&#039;9.35&#039;&#039; ) in &#039;&#039;Cumulus.ini&#039;&#039;&lt;br /&gt;
#Website: Removed  the &#039;@&#039; at the &#039;&#039;Day length&#039;&#039; field&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been created and donated by Andy and has been fixed in the bottom-right, the version spec. of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12379</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12379"/>
		<updated>2026-04-19T16:40:50Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.3.0 .NET10 (xx/xx/xx) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.3.0 .NET10 (xx/xx/xx) ==== &lt;br /&gt;
#PHP upload: The usage of PHP upload procedure is now protected by a semaphore to limit the number of parallel uploads. Initially defaults to the CMX value but can be modified.&amp;lt;/br&amp;gt;New parameter: &#039;&#039;MaxConcurrentUploads=&#039;&#039;&lt;br /&gt;
#PHP upload: For systems which have a limit on the HTTP Post calls, a delay is implemented slowing down the nr of uploads per minute.&amp;lt;/br&amp;gt;New parameter: &#039;&#039;delayMilliSeconds=0&#039;&#039; (default)&lt;br /&gt;
#Thrifty: Fix; Thrifty did not work if it was written after &#039;&#039;website&#039;&#039;. Now &#039;&#039;website thrifty&#039;&#039; and &#039;&#039;thrifty website&#039;&#039; both work&lt;br /&gt;
#Forecast: with the disappearance of &#039;&#039;yourweather&#039;&#039; a new forecast has been created. Keyword &amp;quot;CUtils&amp;quot;, a charted forecast based on &#039;&#039;Open Meteo ECMWF IFS HRES 9km&#039;&#039;&lt;br /&gt;
#Forecast: Added Info to the charts especially the links to the ECWMF info and the link to the Open Meteo site.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.3 .NET10 (10/04/26) ==== &lt;br /&gt;
#Website: Modified the license menu choice in the &#039;&#039;About&#039;&#039; menu to align with the new Highcharts EULA.&lt;br /&gt;
#Website: Fixed: if Parameter value has webtag(s) in it only one webtag is processes and the rest of the text is lost.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.2 .NET10 (27/03/26) ==== &lt;br /&gt;
#pwsFWI: fixed the failing of &#039;&#039;pwsFWI&#039;&#039; if &#039;&#039;latitude&#039;&#039; and/or &#039;&#039;longitude&#039;&#039; is only 4 characters or less (e.g. &#039;&#039;9.35&#039;&#039; ) in &#039;&#039;Cumulus.ini&#039;&#039;&lt;br /&gt;
#Website: Removed  the &#039;@&#039; at the &#039;&#039;Day length&#039;&#039; field&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been created and donated by Andy and has been fixed in the bottom-right, the version spec. of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12378</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12378"/>
		<updated>2026-04-19T06:53:58Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.3.0 .NET10 (xx/xx/xx) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.3.0 .NET10 (xx/xx/xx) ==== &lt;br /&gt;
#PHP upload: The usage of PHP upload procedure is now protected by a semaphore to limit the number of parallel uploads. Initially defaults to the CMX value but can be modified.&amp;lt;/br&amp;gt;New parameter: &#039;&#039;MaxConcurrentUploads=&#039;&#039;&lt;br /&gt;
#PHP upload: For systems which have a limit on the HTTP Post calls, a delay is implemented slowing down the nr of uploads per minute.&amp;lt;/br&amp;gt;New parameter: &#039;&#039;delayMilliSeconds=0&#039;&#039; (default)&lt;br /&gt;
#Thrifty: Fix; Thrifty did not work if it was written after &#039;&#039;website&#039;&#039;. Now &#039;&#039;website thrifty&#039;&#039; and &#039;&#039;thrifty website&#039;&#039; both work&lt;br /&gt;
#Forecast: with the disappearance of &#039;&#039;yourweather&#039;&#039; a new forecast has been created. Keyword &amp;quot;CUtils&amp;quot;, a charted forecast based on &#039;&#039;Open Meteo ECMWF IFS HRES 9km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.3 .NET10 (10/04/26) ==== &lt;br /&gt;
#Website: Modified the license menu choice in the &#039;&#039;About&#039;&#039; menu to align with the new Highcharts EULA.&lt;br /&gt;
#Website: Fixed: if Parameter value has webtag(s) in it only one webtag is processes and the rest of the text is lost.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.2 .NET10 (27/03/26) ==== &lt;br /&gt;
#pwsFWI: fixed the failing of &#039;&#039;pwsFWI&#039;&#039; if &#039;&#039;latitude&#039;&#039; and/or &#039;&#039;longitude&#039;&#039; is only 4 characters or less (e.g. &#039;&#039;9.35&#039;&#039; ) in &#039;&#039;Cumulus.ini&#039;&#039;&lt;br /&gt;
#Website: Removed  the &#039;@&#039; at the &#039;&#039;Day length&#039;&#039; field&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been created and donated by Andy and has been fixed in the bottom-right, the version spec. of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Forecast&amp;diff=12377</id>
		<title>Forecast</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Forecast&amp;diff=12377"/>
		<updated>2026-04-19T06:53:19Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Inner working */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; has a minimal forecast module. Every weather site must have some kind of forecasting so the choice has been made to take four different existing possibilities and present the forecast of the users choice. It is not a true forecasting system.&lt;br /&gt;
&lt;br /&gt;
== Operation ==&lt;br /&gt;
This module is included in the website. When needed as a single output the following command is given: &lt;br /&gt;
    utils/bin/cumulusutils.exe Forecast&lt;br /&gt;
&lt;br /&gt;
== Output ==&lt;br /&gt;
The output is the file: forecast.txt&lt;br /&gt;
&lt;br /&gt;
== Inifile parameters ==&lt;br /&gt;
    [Forecasts]&lt;br /&gt;
    ForecastSystem=CUtils (default, other possibilities: SpotWx, Norway, WxSim)&lt;br /&gt;
    NorwegianURL=&lt;br /&gt;
    WXsimURL=&lt;br /&gt;
&lt;br /&gt;
== Inner working ==&lt;br /&gt;
=== CUtils ===&lt;br /&gt;
It uses the Open Meteo forecast for the &#039;&#039;ECMWF IFS HRES 9km&#039;&#039; model and charts the resulting data, there is no table display.&lt;br /&gt;
&lt;br /&gt;
=== SpotWx ===&lt;br /&gt;
When setting the &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;&#039;SpotWx&#039;&#039;&#039;, the prediction for the latitude and longitude of the station is fetched and displayed in an iframe.&amp;lt;br&amp;gt;&lt;br /&gt;
The iframe is formed as: &amp;lt;nowiki&amp;gt;&amp;lt;iframe src=&#039;{SpotwxPredictionURL}&#039; frameborder=&#039;0&#039; style=&#039;border: 0; width:100%; height: 75vh;&#039;&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/nowiki&amp;gt; and written to the output file.&lt;br /&gt;
&lt;br /&gt;
=== Norway ===&lt;br /&gt;
When setting the &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;&#039;Norway&#039;&#039;&#039;, the prediction URL as given in &#039;&#039;NorwegianURL&#039;&#039; is fetched and displayed in an iframe.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; The current renewed site of the Norwegian service have set the &#039;&#039;X-Frame-Options&#039;&#039; to &#039;&#039;SAMEORIGIN&#039;&#039; meaning that you can only display a forecast as a page from their site. The system as used within &#039;&#039;CumulusUtils&#039;&#039; therefore does not work anymore. Only users who already have their URL from the old site can continue using it. I don&#039;t know until when.&lt;br /&gt;
&lt;br /&gt;
=== WxSim ===&lt;br /&gt;
When setting the &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;&#039;WxSim&#039;&#039;&#039;, the WXsimURL is used to display in an iframe.&amp;lt;br&amp;gt;&lt;br /&gt;
The iframe is formed as: &amp;lt;nowiki&amp;gt;&amp;lt;iframe src=&#039;{WxsimPredictionURL}&#039; frameborder=&#039;0&#039; style=&#039;border: 0;width:100%; height: 75vh;&#039;&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/nowiki&amp;gt; and written to the output file.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Forecast&amp;diff=12376</id>
		<title>Forecast</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Forecast&amp;diff=12376"/>
		<updated>2026-04-19T06:50:42Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Inifile parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; has a minimal forecast module. Every weather site must have some kind of forecasting so the choice has been made to take four different existing possibilities and present the forecast of the users choice. It is not a true forecasting system.&lt;br /&gt;
&lt;br /&gt;
== Operation ==&lt;br /&gt;
This module is included in the website. When needed as a single output the following command is given: &lt;br /&gt;
    utils/bin/cumulusutils.exe Forecast&lt;br /&gt;
&lt;br /&gt;
== Output ==&lt;br /&gt;
The output is the file: forecast.txt&lt;br /&gt;
&lt;br /&gt;
== Inifile parameters ==&lt;br /&gt;
    [Forecasts]&lt;br /&gt;
    ForecastSystem=CUtils (default, other possibilities: SpotWx, Norway, WxSim)&lt;br /&gt;
    NorwegianURL=&lt;br /&gt;
    WXsimURL=&lt;br /&gt;
&lt;br /&gt;
== Inner working ==&lt;br /&gt;
=== SpotWx ===&lt;br /&gt;
When setting the &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;&#039;SpotWx&#039;&#039;&#039;, the prediction for the latitude and longitude of the station is fetched and displayed in an iframe.&amp;lt;br&amp;gt;&lt;br /&gt;
The iframe is formed as: &amp;lt;nowiki&amp;gt;&amp;lt;iframe src=&#039;{SpotwxPredictionURL}&#039; frameborder=&#039;0&#039; style=&#039;border: 0; width:100%; height: 75vh;&#039;&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/nowiki&amp;gt; and written to the output file.&lt;br /&gt;
&lt;br /&gt;
=== Yourweather ===&lt;br /&gt;
The &#039;&#039;YourWeather&#039;&#039; has been replaced by &#039;&#039;&#039;Open Meteo&#039;&#039;&#039; in pwsFWI.&lt;br /&gt;
This forecast will be removed, not yet sure it will be preplaced by Open Meteo.&lt;br /&gt;
If it is : no licensing is involved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;When setting the &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;&#039;Yourweather&#039;&#039;&#039;, the user must have:&lt;br /&gt;
#Go to yourweather.co.uk&lt;br /&gt;
#Scroll down until you see (in a bordered block): “API - Access to xml”;&lt;br /&gt;
#Click on it, register, and follow the instructions;&lt;br /&gt;
#Once on the API page, choose your location;&lt;br /&gt;
#Choose the XML API, address 1: “Address 1: XML file with the 7-day forecast and general daily information”;&lt;br /&gt;
#Fill in that link, in the &#039;&#039;cumlusutils.ini&#039;&#039; for the parameter: &#039;&#039;SevenDayPredictionURL&#039;&#039;. In the section [Forecast]. You may have to run &#039;&#039;CumulusUtils&#039;&#039; with the argument Forecast one time to see that parameter or you can add it manually.&lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;CumulusUtils&#039;&#039; is run with the argument forecast, it fetches the corresponding XML with the ECMWF  model forecast and reworks that into a table that is written to the outputfile. The user installed icons in CUicons are used. These icons are available in the distribution.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Norway ===&lt;br /&gt;
When setting the &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;&#039;Norway&#039;&#039;&#039;, the prediction URL as given in &#039;&#039;NorwegianURL&#039;&#039; is fetched and displayed in an iframe.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; The current renewed site of the Norwegian service have set the &#039;&#039;X-Frame-Options&#039;&#039; to &#039;&#039;SAMEORIGIN&#039;&#039; meaning that you can only display a forecast as a page from their site. The system as used within &#039;&#039;CumulusUtils&#039;&#039; therefore does not work anymore. Only users who already have their URL from the old site can continue using it. I don&#039;t know until when.&lt;br /&gt;
&lt;br /&gt;
=== WxSim ===&lt;br /&gt;
When setting the &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;&#039;WxSim&#039;&#039;&#039;, the WXsimURL is used to display in an iframe.&amp;lt;br&amp;gt;&lt;br /&gt;
The iframe is formed as: &amp;lt;nowiki&amp;gt;&amp;lt;iframe src=&#039;{WxsimPredictionURL}&#039; frameborder=&#039;0&#039; style=&#039;border: 0;width:100%; height: 75vh;&#039;&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/nowiki&amp;gt; and written to the output file.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=PHP_Uploads&amp;diff=12375</id>
		<title>PHP Uploads</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=PHP_Uploads&amp;diff=12375"/>
		<updated>2026-04-17T04:55:12Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* MaxConcurrentUploads */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is it? ==&lt;br /&gt;
&lt;br /&gt;
In March 2023 for Cumulus MX version 3.24.0 a new PHP upload mechanism was introduced as an alternative to using FTP, FTPS, or SFTP (FTP over SSH).&lt;br /&gt;
&lt;br /&gt;
It uses the HTTPS or HTTP protocol for transferring file data. It requires that you have a PHP enabled web server (most are), and that you upload a small PHP file to the root folder of your web site.&lt;br /&gt;
&lt;br /&gt;
Cumulus MX then communicates with that script to transfer the data, and the script saves the data to a file on your web site.&lt;br /&gt;
&lt;br /&gt;
It can transfer both text and binary files.&lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;upload.php&#039;&#039; file is installed for CMX and the protocol works for CMX then it will also work for CUtils and the file locations will be relative to the location of the &#039;&#039;upload.php&#039;&#039; file (which therefore will be the root location of your website).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: It is not a requirement to change to using the PHP Upload method. The previous FTP/FTPS/SFTP methods remain fully supported and operational.&lt;br /&gt;
&lt;br /&gt;
== Is it secure? ==&lt;br /&gt;
&lt;br /&gt;
Yes! It uses a shared secret generated by MX (or you can enter your own). This secret is entered into the PHP upload file before you upload it to your web site.&lt;br /&gt;
&lt;br /&gt;
The secret is used by MX to create an encrypted hash of the upload. The upload script on your server generates its own hash and compares it with the one sent by MX with the data. If they do not match the upload is not allowed.&lt;br /&gt;
&lt;br /&gt;
In addition to this, timestamps are used to ensure that an upload cannot be repeated by replaying the same upload.&lt;br /&gt;
&lt;br /&gt;
Because no sensitive information is sent in the request, the PHP upload mechanism can be safely used with the plain old HTTP protocol&lt;br /&gt;
&lt;br /&gt;
== What are the advantages? ==&lt;br /&gt;
&lt;br /&gt;
* It is fast!&lt;br /&gt;
:* It is much faster than using FTP(S).&lt;br /&gt;
:* It uses gzip compression of the data across the network (web server support required)&lt;br /&gt;
&lt;br /&gt;
* It is reliable&lt;br /&gt;
:* If your web site is up then it should work, it removes the reliance on your web providers FTP server working.&lt;br /&gt;
&lt;br /&gt;
* It reduces bandwidth.&lt;br /&gt;
:* Unlike FTP which uploads the whole file each time, the PHP upload can send incremental data. For the default web site, most the data is the graph files and every update each entire file is sent over FTP every time just to add one new data point. Using the PHP upload, just that new data point is sent for each file, and the PHP script appends it to the existing file on your server.&lt;br /&gt;
:* If any updates fail, then only the cumulative data since the last successful transfer is sent.&lt;br /&gt;
:* It uses data compression over the network&lt;br /&gt;
&lt;br /&gt;
== Disadvantages? ==&lt;br /&gt;
* It requires PHP support from your web provider - though most do&lt;br /&gt;
* Some web providers may not permit all the PHP methods that are required to implement this method&lt;br /&gt;
* You need to change your upload paths to use the new method - make a copy of your Cumulus.ini and your cumulusutils.ini file so you can easily revert&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
#Run CMX and change the Upload protocol to PHP, set the URL to your web site + upload.php&amp;lt;br&amp;gt;for example: &#039;&#039;&amp;lt;nowiki&amp;gt;https://mysite.com/weather/upload.php&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
#Copy the suggested unique &amp;quot;PHP Secret&amp;quot; from the Internet Settings (or make up your own)&lt;br /&gt;
#Edit the &#039;&#039;&#039;/webfiles/upload.php&#039;&#039;&#039; file, and change the default secret &#039;&#039;&#039;change_this_to_the_value_in_CMX&#039;&#039;&#039; to the value in CMX&lt;br /&gt;
#Copy the &#039;&#039;&#039;/webfiles/upload.php&#039;&#039;&#039; to your web server, place it in the root folder of the default web site along with the index.html files etc&lt;br /&gt;
#You will need to update the paths for the NOAA Reports (it probably needs to be just “Reports”)&lt;br /&gt;
#Amend the paths of any Extra Files you upload (it probably needs to be just the remote file name)&lt;br /&gt;
#The uploads should start working!&lt;br /&gt;
#You can now disable all the &amp;quot;Create local&amp;quot; options for files in Internet Settings|Interval Settings. Local copies of the files created in the /web folder are no longer required&lt;br /&gt;
&lt;br /&gt;
It is important to understand the relative paths used by &#039;&#039;upload.php&#039;&#039; as this is quite different from FTP configurations where sometimes full paths are required (SFTP) or paths from the FTP root (which may differ when full ownership or shared hosting). All files will be transferred relative to that location. You can go deeper and sideways into the directory tree but not up. See below**&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Migrating your FTP settings ===&lt;br /&gt;
&lt;br /&gt;
When setting the Upload protocol to PHP you may need to make the following upload settings relative as well:&lt;br /&gt;
#NOAA Reports&lt;br /&gt;
#Extra Web Files&lt;br /&gt;
#The Moon image&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
#Disable &#039;Create local&#039; copy unless required (Windspeed and Wind direction are required local for CumulusUtils)&lt;br /&gt;
#Logging for PHP upload is found in the standard MXdiags logfile, FTP logging has no meaning when using PHP&lt;br /&gt;
&lt;br /&gt;
NOTE: When using the Wizard you will also encounter Upload configuration which obeys the same rules.&lt;br /&gt;
NOTE: The settings are valid not only when you use &#039;&#039;CMX&#039;&#039; but also for &#039;&#039;CumulusUtils&#039;&#039; which does not have any setting for &#039;&#039;upload.PHP&#039;&#039; of its own!&lt;br /&gt;
&lt;br /&gt;
=== **Extending the upload path scope ===&lt;br /&gt;
&lt;br /&gt;
By default, the upload script only allows you to upload files to the same directory as the &#039;&#039;upload.php&#039;&#039; script or deeper. However, it is possible to relax this restriction. In the &#039;&#039;upload.php&#039;&#039; script there is a variable...&lt;br /&gt;
&amp;lt;pre&amp;gt;$limitPath = true;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Changing this to &#039;&#039;false&#039;&#039; means the script will be allowed to create files anywhere in server file system that the PHP process has write permissions.&lt;br /&gt;
&lt;br /&gt;
This option should only be used if you are certain, you need it, and ideally you can restrict the PHP process file system permissions to the areas you want data written.&lt;br /&gt;
&lt;br /&gt;
=== CumulusUtils ===&lt;br /&gt;
The CUtils inifile parameter &#039;&#039;UploadDir&#039;&#039; specifies a subdirectory for CUtils relative to the webroot (the location of &#039;&#039;upload.php&#039;&#039;) without any specification of the URL (as that is implicit in the use of &#039;&#039;upload.PHP&#039;&#039; as specified in &#039;&#039;Cumulus.ini&#039;&#039;). If you wish all files to be transferred into the same directory as specified by CMX, then leave &#039;&#039;UploadDir&#039;&#039; empty.&lt;br /&gt;
&lt;br /&gt;
If you run &#039;&#039;CumulusUtils&#039;&#039; for &#039;&#039;[[Website Generator|website]]&#039;&#039; without [[Thrifty - Cutils Command Qualifier|Thrifty]] it may generate a lot of files which need to be uploaded. So many that your server may refuse uploads at a certain point. To avoid the uploads to fail CUtils has two optimisations for the PHP upload protocol:&lt;br /&gt;
&lt;br /&gt;
==== MaxConcurrentUploads ====&lt;br /&gt;
Just like you can in CMX, you may define the number of concurrent downloads which your server can handle. The parameter &#039;&#039;MaxConcurrentUploads&#039;&#039; defaults to no value which means it takes the value you defined in CMX. IIf you give this parameter a value, that value overrides the CMX value.&lt;br /&gt;
&lt;br /&gt;
==== delayMilliSeconds ====&lt;br /&gt;
Some servers have a limit to the number of HTTP Post requests can be handled (e.g. 10 per second). If that is the case you need to define a delay value for the time between uploads. This is defined with the&lt;br /&gt;
&#039;&#039;delayMilliSeconds&#039;&#039; parameter which defaults to 0 meaning the uploads secced each other as fast as possible.&lt;br /&gt;
&lt;br /&gt;
== Cumulus.ini ==&lt;br /&gt;
&lt;br /&gt;
The following settings in CMX Cumulus.ini [FTP site] section control the PHP upload configuration.&lt;br /&gt;
&lt;br /&gt;
These entries would normally be set via the Internet Settings configuration screen.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;upload.php&#039;&#039; procedure file can be copied to any location you wish but the following &#039;&#039;CMX ini file parameters&#039;&#039; determine its operation and need to reflect its true location and CMX configuration (in case you are running more than one instance):&lt;br /&gt;
&amp;lt;pre&amp;gt;PHP-URL=&amp;lt;URL&amp;gt;&lt;br /&gt;
PHP-Secret=&amp;lt;key as configured in CMX&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues - Technical! ==&lt;br /&gt;
&lt;br /&gt;
=== File Permissions ===&lt;br /&gt;
On my Linux self-hosting server, I found I had not given the PHP process write permissions on the folders holding my web site. What I did is (and this may not be the best or only method)...&lt;br /&gt;
&lt;br /&gt;
:1. Create a new user group - webwriters - and add my existing user &#039;pi&#039; and &#039;www-data&#039; (the user PHP and the web server run under) to that group:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;gt; sudo addgroup webwriters&lt;br /&gt;
	&amp;gt; sudo usermod -a -G webwriters www-data&lt;br /&gt;
	&amp;gt; sudo usermod -a -G webwriters pi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:2. Restart the web server and PHP-FPM to pick up the new group membership&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;gt; sudo service nginx restart&lt;br /&gt;
	&amp;gt; sudo service phpN.N-fpm restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:3. Then changed the group associated with the web folder(s)&lt;br /&gt;
&amp;lt;pre&amp;gt;	&amp;gt; sudo chown -R :webwriters /var/www/mywebsite&amp;lt;/pre&amp;gt;&lt;br /&gt;
:4. Finally change the permissions for webwriters group on the folder&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;gt; sudo chmod -R g+rwx /var/www/mywebsite&lt;br /&gt;
	&amp;gt; sudo chmod -R o-wx,o+r /var/www/mywebsite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check what user PHP is running under with a simple script...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;?php echo `whoami`; ?&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or, you can use the &amp;quot;top&amp;quot; or &amp;quot;htop&amp;quot; command, and look for the service there - check your web server too!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]] [[Category:Cumulus_MX]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=PHP_Uploads&amp;diff=12374</id>
		<title>PHP Uploads</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=PHP_Uploads&amp;diff=12374"/>
		<updated>2026-04-16T19:43:56Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* CumulusUtils */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is it? ==&lt;br /&gt;
&lt;br /&gt;
In March 2023 for Cumulus MX version 3.24.0 a new PHP upload mechanism was introduced as an alternative to using FTP, FTPS, or SFTP (FTP over SSH).&lt;br /&gt;
&lt;br /&gt;
It uses the HTTPS or HTTP protocol for transferring file data. It requires that you have a PHP enabled web server (most are), and that you upload a small PHP file to the root folder of your web site.&lt;br /&gt;
&lt;br /&gt;
Cumulus MX then communicates with that script to transfer the data, and the script saves the data to a file on your web site.&lt;br /&gt;
&lt;br /&gt;
It can transfer both text and binary files.&lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;upload.php&#039;&#039; file is installed for CMX and the protocol works for CMX then it will also work for CUtils and the file locations will be relative to the location of the &#039;&#039;upload.php&#039;&#039; file (which therefore will be the root location of your website).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: It is not a requirement to change to using the PHP Upload method. The previous FTP/FTPS/SFTP methods remain fully supported and operational.&lt;br /&gt;
&lt;br /&gt;
== Is it secure? ==&lt;br /&gt;
&lt;br /&gt;
Yes! It uses a shared secret generated by MX (or you can enter your own). This secret is entered into the PHP upload file before you upload it to your web site.&lt;br /&gt;
&lt;br /&gt;
The secret is used by MX to create an encrypted hash of the upload. The upload script on your server generates its own hash and compares it with the one sent by MX with the data. If they do not match the upload is not allowed.&lt;br /&gt;
&lt;br /&gt;
In addition to this, timestamps are used to ensure that an upload cannot be repeated by replaying the same upload.&lt;br /&gt;
&lt;br /&gt;
Because no sensitive information is sent in the request, the PHP upload mechanism can be safely used with the plain old HTTP protocol&lt;br /&gt;
&lt;br /&gt;
== What are the advantages? ==&lt;br /&gt;
&lt;br /&gt;
* It is fast!&lt;br /&gt;
:* It is much faster than using FTP(S).&lt;br /&gt;
:* It uses gzip compression of the data across the network (web server support required)&lt;br /&gt;
&lt;br /&gt;
* It is reliable&lt;br /&gt;
:* If your web site is up then it should work, it removes the reliance on your web providers FTP server working.&lt;br /&gt;
&lt;br /&gt;
* It reduces bandwidth.&lt;br /&gt;
:* Unlike FTP which uploads the whole file each time, the PHP upload can send incremental data. For the default web site, most the data is the graph files and every update each entire file is sent over FTP every time just to add one new data point. Using the PHP upload, just that new data point is sent for each file, and the PHP script appends it to the existing file on your server.&lt;br /&gt;
:* If any updates fail, then only the cumulative data since the last successful transfer is sent.&lt;br /&gt;
:* It uses data compression over the network&lt;br /&gt;
&lt;br /&gt;
== Disadvantages? ==&lt;br /&gt;
* It requires PHP support from your web provider - though most do&lt;br /&gt;
* Some web providers may not permit all the PHP methods that are required to implement this method&lt;br /&gt;
* You need to change your upload paths to use the new method - make a copy of your Cumulus.ini and your cumulusutils.ini file so you can easily revert&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
#Run CMX and change the Upload protocol to PHP, set the URL to your web site + upload.php&amp;lt;br&amp;gt;for example: &#039;&#039;&amp;lt;nowiki&amp;gt;https://mysite.com/weather/upload.php&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
#Copy the suggested unique &amp;quot;PHP Secret&amp;quot; from the Internet Settings (or make up your own)&lt;br /&gt;
#Edit the &#039;&#039;&#039;/webfiles/upload.php&#039;&#039;&#039; file, and change the default secret &#039;&#039;&#039;change_this_to_the_value_in_CMX&#039;&#039;&#039; to the value in CMX&lt;br /&gt;
#Copy the &#039;&#039;&#039;/webfiles/upload.php&#039;&#039;&#039; to your web server, place it in the root folder of the default web site along with the index.html files etc&lt;br /&gt;
#You will need to update the paths for the NOAA Reports (it probably needs to be just “Reports”)&lt;br /&gt;
#Amend the paths of any Extra Files you upload (it probably needs to be just the remote file name)&lt;br /&gt;
#The uploads should start working!&lt;br /&gt;
#You can now disable all the &amp;quot;Create local&amp;quot; options for files in Internet Settings|Interval Settings. Local copies of the files created in the /web folder are no longer required&lt;br /&gt;
&lt;br /&gt;
It is important to understand the relative paths used by &#039;&#039;upload.php&#039;&#039; as this is quite different from FTP configurations where sometimes full paths are required (SFTP) or paths from the FTP root (which may differ when full ownership or shared hosting). All files will be transferred relative to that location. You can go deeper and sideways into the directory tree but not up. See below**&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Migrating your FTP settings ===&lt;br /&gt;
&lt;br /&gt;
When setting the Upload protocol to PHP you may need to make the following upload settings relative as well:&lt;br /&gt;
#NOAA Reports&lt;br /&gt;
#Extra Web Files&lt;br /&gt;
#The Moon image&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
#Disable &#039;Create local&#039; copy unless required (Windspeed and Wind direction are required local for CumulusUtils)&lt;br /&gt;
#Logging for PHP upload is found in the standard MXdiags logfile, FTP logging has no meaning when using PHP&lt;br /&gt;
&lt;br /&gt;
NOTE: When using the Wizard you will also encounter Upload configuration which obeys the same rules.&lt;br /&gt;
NOTE: The settings are valid not only when you use &#039;&#039;CMX&#039;&#039; but also for &#039;&#039;CumulusUtils&#039;&#039; which does not have any setting for &#039;&#039;upload.PHP&#039;&#039; of its own!&lt;br /&gt;
&lt;br /&gt;
=== **Extending the upload path scope ===&lt;br /&gt;
&lt;br /&gt;
By default, the upload script only allows you to upload files to the same directory as the &#039;&#039;upload.php&#039;&#039; script or deeper. However, it is possible to relax this restriction. In the &#039;&#039;upload.php&#039;&#039; script there is a variable...&lt;br /&gt;
&amp;lt;pre&amp;gt;$limitPath = true;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Changing this to &#039;&#039;false&#039;&#039; means the script will be allowed to create files anywhere in server file system that the PHP process has write permissions.&lt;br /&gt;
&lt;br /&gt;
This option should only be used if you are certain, you need it, and ideally you can restrict the PHP process file system permissions to the areas you want data written.&lt;br /&gt;
&lt;br /&gt;
=== CumulusUtils ===&lt;br /&gt;
The CUtils inifile parameter &#039;&#039;UploadDir&#039;&#039; specifies a subdirectory for CUtils relative to the webroot (the location of &#039;&#039;upload.php&#039;&#039;) without any specification of the URL (as that is implicit in the use of &#039;&#039;upload.PHP&#039;&#039; as specified in &#039;&#039;Cumulus.ini&#039;&#039;). If you wish all files to be transferred into the same directory as specified by CMX, then leave &#039;&#039;UploadDir&#039;&#039; empty.&lt;br /&gt;
&lt;br /&gt;
If you run &#039;&#039;CumulusUtils&#039;&#039; for &#039;&#039;[[Website Generator|website]]&#039;&#039; without [[Thrifty - Cutils Command Qualifier|Thrifty]] it may generate a lot of files which need to be uploaded. So many that your server may refuse uploads at a certain point. To avoid the uploads to fail CUtils has two optimisations for the PHP upload protocol:&lt;br /&gt;
&lt;br /&gt;
==== MaxConcurrentUploads ====&lt;br /&gt;
Just like you can in CMX, you may define the number of concurrent downloads which your server can handle. The parameter &#039;&#039;MaxConcurrentUploads&#039;&#039; defaults to no value which means it takes the value you defined in CMX. IIf you give this parameter a value, that value overrules the CMX value.&lt;br /&gt;
&lt;br /&gt;
==== delayMilliSeconds ====&lt;br /&gt;
Some servers have a limit to the number of HTTP Post requests can be handled (e.g. 10 per second). If that is the case you need to define a delay value for the time between uploads. This is defined with the&lt;br /&gt;
&#039;&#039;delayMilliSeconds&#039;&#039; parameter which defaults to 0 meaning the uploads secced each other as fast as possible.&lt;br /&gt;
&lt;br /&gt;
== Cumulus.ini ==&lt;br /&gt;
&lt;br /&gt;
The following settings in CMX Cumulus.ini [FTP site] section control the PHP upload configuration.&lt;br /&gt;
&lt;br /&gt;
These entries would normally be set via the Internet Settings configuration screen.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;upload.php&#039;&#039; procedure file can be copied to any location you wish but the following &#039;&#039;CMX ini file parameters&#039;&#039; determine its operation and need to reflect its true location and CMX configuration (in case you are running more than one instance):&lt;br /&gt;
&amp;lt;pre&amp;gt;PHP-URL=&amp;lt;URL&amp;gt;&lt;br /&gt;
PHP-Secret=&amp;lt;key as configured in CMX&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues - Technical! ==&lt;br /&gt;
&lt;br /&gt;
=== File Permissions ===&lt;br /&gt;
On my Linux self-hosting server, I found I had not given the PHP process write permissions on the folders holding my web site. What I did is (and this may not be the best or only method)...&lt;br /&gt;
&lt;br /&gt;
:1. Create a new user group - webwriters - and add my existing user &#039;pi&#039; and &#039;www-data&#039; (the user PHP and the web server run under) to that group:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;gt; sudo addgroup webwriters&lt;br /&gt;
	&amp;gt; sudo usermod -a -G webwriters www-data&lt;br /&gt;
	&amp;gt; sudo usermod -a -G webwriters pi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:2. Restart the web server and PHP-FPM to pick up the new group membership&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;gt; sudo service nginx restart&lt;br /&gt;
	&amp;gt; sudo service phpN.N-fpm restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:3. Then changed the group associated with the web folder(s)&lt;br /&gt;
&amp;lt;pre&amp;gt;	&amp;gt; sudo chown -R :webwriters /var/www/mywebsite&amp;lt;/pre&amp;gt;&lt;br /&gt;
:4. Finally change the permissions for webwriters group on the folder&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;gt; sudo chmod -R g+rwx /var/www/mywebsite&lt;br /&gt;
	&amp;gt; sudo chmod -R o-wx,o+r /var/www/mywebsite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check what user PHP is running under with a simple script...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;?php echo `whoami`; ?&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or, you can use the &amp;quot;top&amp;quot; or &amp;quot;htop&amp;quot; command, and look for the service there - check your web server too!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]] [[Category:Cumulus_MX]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=PHP_Uploads&amp;diff=12373</id>
		<title>PHP Uploads</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=PHP_Uploads&amp;diff=12373"/>
		<updated>2026-04-16T18:42:14Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Disadvantages? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is it? ==&lt;br /&gt;
&lt;br /&gt;
In March 2023 for Cumulus MX version 3.24.0 a new PHP upload mechanism was introduced as an alternative to using FTP, FTPS, or SFTP (FTP over SSH).&lt;br /&gt;
&lt;br /&gt;
It uses the HTTPS or HTTP protocol for transferring file data. It requires that you have a PHP enabled web server (most are), and that you upload a small PHP file to the root folder of your web site.&lt;br /&gt;
&lt;br /&gt;
Cumulus MX then communicates with that script to transfer the data, and the script saves the data to a file on your web site.&lt;br /&gt;
&lt;br /&gt;
It can transfer both text and binary files.&lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;upload.php&#039;&#039; file is installed for CMX and the protocol works for CMX then it will also work for CUtils and the file locations will be relative to the location of the &#039;&#039;upload.php&#039;&#039; file (which therefore will be the root location of your website).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: It is not a requirement to change to using the PHP Upload method. The previous FTP/FTPS/SFTP methods remain fully supported and operational.&lt;br /&gt;
&lt;br /&gt;
== Is it secure? ==&lt;br /&gt;
&lt;br /&gt;
Yes! It uses a shared secret generated by MX (or you can enter your own). This secret is entered into the PHP upload file before you upload it to your web site.&lt;br /&gt;
&lt;br /&gt;
The secret is used by MX to create an encrypted hash of the upload. The upload script on your server generates its own hash and compares it with the one sent by MX with the data. If they do not match the upload is not allowed.&lt;br /&gt;
&lt;br /&gt;
In addition to this, timestamps are used to ensure that an upload cannot be repeated by replaying the same upload.&lt;br /&gt;
&lt;br /&gt;
Because no sensitive information is sent in the request, the PHP upload mechanism can be safely used with the plain old HTTP protocol&lt;br /&gt;
&lt;br /&gt;
== What are the advantages? ==&lt;br /&gt;
&lt;br /&gt;
* It is fast!&lt;br /&gt;
:* It is much faster than using FTP(S).&lt;br /&gt;
:* It uses gzip compression of the data across the network (web server support required)&lt;br /&gt;
&lt;br /&gt;
* It is reliable&lt;br /&gt;
:* If your web site is up then it should work, it removes the reliance on your web providers FTP server working.&lt;br /&gt;
&lt;br /&gt;
* It reduces bandwidth.&lt;br /&gt;
:* Unlike FTP which uploads the whole file each time, the PHP upload can send incremental data. For the default web site, most the data is the graph files and every update each entire file is sent over FTP every time just to add one new data point. Using the PHP upload, just that new data point is sent for each file, and the PHP script appends it to the existing file on your server.&lt;br /&gt;
:* If any updates fail, then only the cumulative data since the last successful transfer is sent.&lt;br /&gt;
:* It uses data compression over the network&lt;br /&gt;
&lt;br /&gt;
== Disadvantages? ==&lt;br /&gt;
* It requires PHP support from your web provider - though most do&lt;br /&gt;
* Some web providers may not permit all the PHP methods that are required to implement this method&lt;br /&gt;
* You need to change your upload paths to use the new method - make a copy of your Cumulus.ini and your cumulusutils.ini file so you can easily revert&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
#Run CMX and change the Upload protocol to PHP, set the URL to your web site + upload.php&amp;lt;br&amp;gt;for example: &#039;&#039;&amp;lt;nowiki&amp;gt;https://mysite.com/weather/upload.php&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
#Copy the suggested unique &amp;quot;PHP Secret&amp;quot; from the Internet Settings (or make up your own)&lt;br /&gt;
#Edit the &#039;&#039;&#039;/webfiles/upload.php&#039;&#039;&#039; file, and change the default secret &#039;&#039;&#039;change_this_to_the_value_in_CMX&#039;&#039;&#039; to the value in CMX&lt;br /&gt;
#Copy the &#039;&#039;&#039;/webfiles/upload.php&#039;&#039;&#039; to your web server, place it in the root folder of the default web site along with the index.html files etc&lt;br /&gt;
#You will need to update the paths for the NOAA Reports (it probably needs to be just “Reports”)&lt;br /&gt;
#Amend the paths of any Extra Files you upload (it probably needs to be just the remote file name)&lt;br /&gt;
#The uploads should start working!&lt;br /&gt;
#You can now disable all the &amp;quot;Create local&amp;quot; options for files in Internet Settings|Interval Settings. Local copies of the files created in the /web folder are no longer required&lt;br /&gt;
&lt;br /&gt;
It is important to understand the relative paths used by &#039;&#039;upload.php&#039;&#039; as this is quite different from FTP configurations where sometimes full paths are required (SFTP) or paths from the FTP root (which may differ when full ownership or shared hosting). All files will be transferred relative to that location. You can go deeper and sideways into the directory tree but not up. See below**&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Migrating your FTP settings ===&lt;br /&gt;
&lt;br /&gt;
When setting the Upload protocol to PHP you may need to make the following upload settings relative as well:&lt;br /&gt;
#NOAA Reports&lt;br /&gt;
#Extra Web Files&lt;br /&gt;
#The Moon image&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
#Disable &#039;Create local&#039; copy unless required (Windspeed and Wind direction are required local for CumulusUtils)&lt;br /&gt;
#Logging for PHP upload is found in the standard MXdiags logfile, FTP logging has no meaning when using PHP&lt;br /&gt;
&lt;br /&gt;
NOTE: When using the Wizard you will also encounter Upload configuration which obeys the same rules.&lt;br /&gt;
NOTE: The settings are valid not only when you use &#039;&#039;CMX&#039;&#039; but also for &#039;&#039;CumulusUtils&#039;&#039; which does not have any setting for &#039;&#039;upload.PHP&#039;&#039; of its own!&lt;br /&gt;
&lt;br /&gt;
=== **Extending the upload path scope ===&lt;br /&gt;
&lt;br /&gt;
By default, the upload script only allows you to upload files to the same directory as the &#039;&#039;upload.php&#039;&#039; script or deeper. However, it is possible to relax this restriction. In the &#039;&#039;upload.php&#039;&#039; script there is a variable...&lt;br /&gt;
&amp;lt;pre&amp;gt;$limitPath = true;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Changing this to &#039;&#039;false&#039;&#039; means the script will be allowed to create files anywhere in server file system that the PHP process has write permissions.&lt;br /&gt;
&lt;br /&gt;
This option should only be used if you are certain, you need it, and ideally you can restrict the PHP process file system permissions to the areas you want data written.&lt;br /&gt;
&lt;br /&gt;
=== CumulusUtils ===&lt;br /&gt;
The CUtils inifile parameter &#039;&#039;UploadDir&#039;&#039; specifies a subdirectory for CUtils relative to the webroot (the location of &#039;&#039;upload.php&#039;&#039;) without any specification of the URL (as that is implicit in the use of &#039;&#039;upload.PHP&#039;&#039; as specified in &#039;&#039;Cumulus.ini&#039;&#039;). If you wish all files to be transferred into the same directory as specified by CMX, then leave &#039;&#039;UploadDir&#039;&#039; empty.&lt;br /&gt;
&lt;br /&gt;
== Cumulus.ini ==&lt;br /&gt;
&lt;br /&gt;
The following settings in CMX Cumulus.ini [FTP site] section control the PHP upload configuration.&lt;br /&gt;
&lt;br /&gt;
These entries would normally be set via the Internet Settings configuration screen.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;upload.php&#039;&#039; procedure file can be copied to any location you wish but the following &#039;&#039;CMX ini file parameters&#039;&#039; determine its operation and need to reflect its true location and CMX configuration (in case you are running more than one instance):&lt;br /&gt;
&amp;lt;pre&amp;gt;PHP-URL=&amp;lt;URL&amp;gt;&lt;br /&gt;
PHP-Secret=&amp;lt;key as configured in CMX&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential Issues - Technical! ==&lt;br /&gt;
&lt;br /&gt;
=== File Permissions ===&lt;br /&gt;
On my Linux self-hosting server, I found I had not given the PHP process write permissions on the folders holding my web site. What I did is (and this may not be the best or only method)...&lt;br /&gt;
&lt;br /&gt;
:1. Create a new user group - webwriters - and add my existing user &#039;pi&#039; and &#039;www-data&#039; (the user PHP and the web server run under) to that group:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;gt; sudo addgroup webwriters&lt;br /&gt;
	&amp;gt; sudo usermod -a -G webwriters www-data&lt;br /&gt;
	&amp;gt; sudo usermod -a -G webwriters pi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:2. Restart the web server and PHP-FPM to pick up the new group membership&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;gt; sudo service nginx restart&lt;br /&gt;
	&amp;gt; sudo service phpN.N-fpm restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:3. Then changed the group associated with the web folder(s)&lt;br /&gt;
&amp;lt;pre&amp;gt;	&amp;gt; sudo chown -R :webwriters /var/www/mywebsite&amp;lt;/pre&amp;gt;&lt;br /&gt;
:4. Finally change the permissions for webwriters group on the folder&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;gt; sudo chmod -R g+rwx /var/www/mywebsite&lt;br /&gt;
	&amp;gt; sudo chmod -R o-wx,o+r /var/www/mywebsite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check what user PHP is running under with a simple script...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;?php echo `whoami`; ?&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or, you can use the &amp;quot;top&amp;quot; or &amp;quot;htop&amp;quot; command, and look for the service there - check your web server too!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]] [[Category:Cumulus_MX]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12372</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12372"/>
		<updated>2026-04-16T18:36:57Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.3.0 .NET10 (xx/xx/xx) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.3.0 .NET10 (xx/xx/xx) ==== &lt;br /&gt;
#PHP upload: The usage of PHP upload procedure is now protected by a semaphore to limit the number of parallel uploads. Initially defaults to the CMX value but can be modified.&amp;lt;/br&amp;gt;New parameter: &#039;&#039;MaxConcurrentUploads=&#039;&#039;&lt;br /&gt;
#PHP upload: For systems which have a limit on the HTTP Post calls, a delay is implemented slowing down the nr of uploads per minute.&amp;lt;/br&amp;gt;New parameter: &#039;&#039;delayMilliSeconds=0&#039;&#039; (default)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.3 .NET10 (10/04/26) ==== &lt;br /&gt;
#Website: Modified the license menu choice in the &#039;&#039;About&#039;&#039; menu to align with the new Highcharts EULA.&lt;br /&gt;
#Website: Fixed: if Parameter value has webtag(s) in it only one webtag is processes and the rest of the text is lost.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.2 .NET10 (27/03/26) ==== &lt;br /&gt;
#pwsFWI: fixed the failing of &#039;&#039;pwsFWI&#039;&#039; if &#039;&#039;latitude&#039;&#039; and/or &#039;&#039;longitude&#039;&#039; is only 4 characters or less (e.g. &#039;&#039;9.35&#039;&#039; ) in &#039;&#039;Cumulus.ini&#039;&#039;&lt;br /&gt;
#Website: Removed  the &#039;@&#039; at the &#039;&#039;Day length&#039;&#039; field&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been created and donated by Andy and has been fixed in the bottom-right, the version spec. of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12371</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12371"/>
		<updated>2026-04-16T18:33:54Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.3.0 .NET10 (xx/xx/xx) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.3.0 .NET10 (xx/xx/xx) ==== &lt;br /&gt;
#PHP upload: The usage of PHP upload procedure is now protected by a semaphore to limit the number of parallel uploads. Initially defaults to the CMX value but can be modified. New parameter: &#039;&#039;MaxConcurrentUploads=&#039;&#039;&lt;br /&gt;
#PHP upload: For systems which have a limit on the HTTP Post calls, a delay is implemented slowing down the nr of uploads per minute. New parameter: &#039;&#039;delayMilliSeconds=0&#039;&#039; (default)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.3 .NET10 (10/04/26) ==== &lt;br /&gt;
#Website: Modified the license menu choice in the &#039;&#039;About&#039;&#039; menu to align with the new Highcharts EULA.&lt;br /&gt;
#Website: Fixed: if Parameter value has webtag(s) in it only one webtag is processes and the rest of the text is lost.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.2 .NET10 (27/03/26) ==== &lt;br /&gt;
#pwsFWI: fixed the failing of &#039;&#039;pwsFWI&#039;&#039; if &#039;&#039;latitude&#039;&#039; and/or &#039;&#039;longitude&#039;&#039; is only 4 characters or less (e.g. &#039;&#039;9.35&#039;&#039; ) in &#039;&#039;Cumulus.ini&#039;&#039;&lt;br /&gt;
#Website: Removed  the &#039;@&#039; at the &#039;&#039;Day length&#039;&#039; field&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been created and donated by Andy and has been fixed in the bottom-right, the version spec. of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12370</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12370"/>
		<updated>2026-04-15T07:48:15Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.3 .NET10 (10/04/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.3.0 .NET10 (xx/xx/xx) ==== &lt;br /&gt;
#PHP upload: The usage of PHP upload procedure is now protected by a semaphore to limit the number of parallel uploads. Initially defaults to the CMX value but can be modified&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.3 .NET10 (10/04/26) ==== &lt;br /&gt;
#Website: Modified the license menu choice in the &#039;&#039;About&#039;&#039; menu to align with the new Highcharts EULA.&lt;br /&gt;
#Website: Fixed: if Parameter value has webtag(s) in it only one webtag is processes and the rest of the text is lost.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.2 .NET10 (27/03/26) ==== &lt;br /&gt;
#pwsFWI: fixed the failing of &#039;&#039;pwsFWI&#039;&#039; if &#039;&#039;latitude&#039;&#039; and/or &#039;&#039;longitude&#039;&#039; is only 4 characters or less (e.g. &#039;&#039;9.35&#039;&#039; ) in &#039;&#039;Cumulus.ini&#039;&#039;&lt;br /&gt;
#Website: Removed  the &#039;@&#039; at the &#039;&#039;Day length&#039;&#039; field&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been created and donated by Andy and has been fixed in the bottom-right, the version spec. of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12369</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12369"/>
		<updated>2026-04-10T10:14:37Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.3 .NET10 (xx/xx/xx) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.3 .NET10 (10/04/26) ==== &lt;br /&gt;
#Website: Modified the license menu choice in the &#039;&#039;About&#039;&#039; menu to align with the new Highcharts EULA.&lt;br /&gt;
#Website: Fixed: if Parameter value has webtag(s) in it only one webtag is processes and the rest of the text is lost.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.2 .NET10 (27/03/26) ==== &lt;br /&gt;
#pwsFWI: fixed the failing of &#039;&#039;pwsFWI&#039;&#039; if &#039;&#039;latitude&#039;&#039; and/or &#039;&#039;longitude&#039;&#039; is only 4 characters or less (e.g. &#039;&#039;9.35&#039;&#039; ) in &#039;&#039;Cumulus.ini&#039;&#039;&lt;br /&gt;
#Website: Removed  the &#039;@&#039; at the &#039;&#039;Day length&#039;&#039; field&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been created and donated by Andy and has been fixed in the bottom-right, the version spec. of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12368</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12368"/>
		<updated>2026-04-10T10:01:15Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.3 .NET10 (xx/xx/xx) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.3 .NET10 (xx/xx/xx) ==== &lt;br /&gt;
#Website: Modified the license menu choice in the &#039;&#039;About&#039;&#039; menu to align with the new Highcharts EULA.&lt;br /&gt;
#Website: Fixed: if Parameter value has webtag(s) in it only one webtag is processes and the rest of the text is lost.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.2 .NET10 (27/03/26) ==== &lt;br /&gt;
#pwsFWI: fixed the failing of &#039;&#039;pwsFWI&#039;&#039; if &#039;&#039;latitude&#039;&#039; and/or &#039;&#039;longitude&#039;&#039; is only 4 characters or less (e.g. &#039;&#039;9.35&#039;&#039; ) in &#039;&#039;Cumulus.ini&#039;&#039;&lt;br /&gt;
#Website: Removed  the &#039;@&#039; at the &#039;&#039;Day length&#039;&#039; field&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been created and donated by Andy and has been fixed in the bottom-right, the version spec. of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12364</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12364"/>
		<updated>2026-04-08T05:04:35Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.2 .NET10 (27/03/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.3 .NET10 (xx/xx/xx) ==== &lt;br /&gt;
#Website: Modified the license menu choice in the &#039;&#039;About&#039;&#039; menu to align with the new Highcharts EULA.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.2 .NET10 (27/03/26) ==== &lt;br /&gt;
#pwsFWI: fixed the failing of &#039;&#039;pwsFWI&#039;&#039; if &#039;&#039;latitude&#039;&#039; and/or &#039;&#039;longitude&#039;&#039; is only 4 characters or less (e.g. &#039;&#039;9.35&#039;&#039; ) in &#039;&#039;Cumulus.ini&#039;&#039;&lt;br /&gt;
#Website: Removed  the &#039;@&#039; at the &#039;&#039;Day length&#039;&#039; field&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been created and donated by Andy and has been fixed in the bottom-right, the version spec. of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12363</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12363"/>
		<updated>2026-04-08T05:03:20Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.2 .NET10 (27/03/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.2 .NET10 (27/03/26) ==== &lt;br /&gt;
#pwsFWI: fixed the failing of &#039;&#039;pwsFWI&#039;&#039; if &#039;&#039;latitude&#039;&#039; and/or &#039;&#039;longitude&#039;&#039; is only 4 characters or less (e.g. &#039;&#039;9.35&#039;&#039; ) in &#039;&#039;Cumulus.ini&#039;&#039;&lt;br /&gt;
#Website: Removed  the &#039;@&#039; at the &#039;&#039;Day length&#039;&#039; field&lt;br /&gt;
#Website: Modified the license menu choice in the &#039;&#039;About&#039;&#039; menu to align with the new Highcharts EULA.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been created and donated by Andy and has been fixed in the bottom-right, the version spec. of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12360</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12360"/>
		<updated>2026-03-27T16:53:37Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.2 .NET10 (xx/xx/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.2 .NET10 (27/03/26) ==== &lt;br /&gt;
#pwsFWI: fixed the failing of &#039;&#039;pwsFWI&#039;&#039; if &#039;&#039;latitude&#039;&#039; and/or &#039;&#039;longitude&#039;&#039; is only 4 characters or less (e.g. &#039;&#039;9.35&#039;&#039; ) in &#039;&#039;Cumulus.ini&#039;&#039;&lt;br /&gt;
#Website: Removed  the &#039;@&#039; at the &#039;&#039;Day length&#039;&#039; field&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been created and donated by Andy and has been fixed in the bottom-right, the version spec. of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12358</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12358"/>
		<updated>2026-03-06T06:25:49Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.2 .NET10 (xx/xx/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.2 .NET10 (xx/xx/26) ==== &lt;br /&gt;
#pwsFWI: fixed the failing of &#039;&#039;pwsFWI&#039;&#039; if &#039;&#039;latitude&#039;&#039; and/or &#039;&#039;longitude&#039;&#039; is only 4 characters or less (e.g. &#039;&#039;9.35&#039;&#039; ) in &#039;&#039;Cumulus.ini&#039;&#039;&lt;br /&gt;
#Website: Removed  the &#039;@&#039; at the &#039;&#039;Day length&#039;&#039; field&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been created and donated by Andy and has been fixed in the bottom-right, the version spec. of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12357</id>
		<title>CumulusUtils</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12357"/>
		<updated>2026-02-24T12:20:43Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* MAC: Using crontab (advised) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This is the first page of the CumulusUtils Wiki. From here you should be able to find everything you need to know for this tool.&lt;br /&gt;
&lt;br /&gt;
If needed you can always go to the CumulusUtils Category page (see bottom of this page).&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
This paragraph describes what is required to use CumuluUtils (To be modified/extended by user experience).&lt;br /&gt;
#A working CumulusMX environment on Windows, Linux (RPi) or MacOS&lt;br /&gt;
#On Linux (and probably MacOS too) the user must verify whether [[SysInfo#Introduction|the application &#039;&#039;lshw&#039;&#039; has been installed]].&lt;br /&gt;
#NOTE: no experience by the author on MacOS exists so be prepared to communicate&lt;br /&gt;
#For the &#039;&#039;[[Charts_-_Misc_charts|Miscellaneous Charts]]&#039;&#039; more data - a year starting on jan 1 - is required to make these useful&lt;br /&gt;
#From CMX4 and CMX5 change in the handling of datetime in the logs. Corresponding CUtils versions are available. It is advised to upgrade to the last version of CMX/CUtils as fast as possible because of support.&lt;br /&gt;
#For longer data series it will be useful to run the [[Software#Create_Missing|CMX supporting application &#039;&#039;CreateMissing.exe&#039;&#039;]] beforehand.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
The goal of &#039;&#039;CumulusUtils&#039;&#039; (abbr: &#039;&#039;Cutils&#039;&#039; or &#039;&#039;CUtils&#039;&#039;) is to facilitate website creation for users of CumulusMX without exposure to coding in e.g. PHP or javascript. Having a meteo-website should not be privileged to users with great IT-skills. Making charts should not be demanding for programming skills in SQL or making it otherwise impossible to create charts without diving deep into the technique involved in CumulusMX (which actually is also the case with SQL). Note that this does not  mean you can&#039;t use IT skills: the &#039;&#039;user configurable menu&#039;&#039; offers an opening to expand as far as you wish.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; positions itself as a configurable application for which the understanding of how to run it and how to configure it is the most important thing to know. For configuration &#039;&#039;CumulusUtils&#039;&#039; uses [[Cumulusutils.ini|&#039;&#039;cumulusutils.ini&#039;&#039;]] file which resides in the CumulusMX directory. If that file does not exist, it will be created. The same holds for the CUstringsXX.ini file (containing your translations for CUtils text strings). All other files related to &#039;&#039;CumulusUtils&#039;&#039; reside in the utils directory.&lt;br /&gt;
&lt;br /&gt;
The charts are created using [https://www.highcharts.com/ HighCharts] using their [https://shop.highcharts.com/license-eula &amp;quot;Personal Use&amp;quot; License]. If you want to use the charts or the [[Website Generator]] of &#039;&#039;CumulusUtils&#039;&#039;, please make yourself acquainted with this license.&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
The user is assumed to have basic computer skills and knowledge about the Operating System and directory structure. The user must also be aware of the directory infrastructure of CumulusMX and needs to be aware  of the meaning of the terms &#039;&#039;webroot&#039;&#039; and &#039;&#039;FTProot&#039;&#039; and &#039;&#039;Working Directory&#039;&#039;. The user should be able to understand and edit the ini files (both from &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;CumulusUtils&#039;&#039;). The user should understand the basic functioning of &#039;&#039;CumulusMX&#039;&#039; which means the correct availability of &#039;&#039;CumulusMX&#039;&#039; is a precondition for using &#039;&#039;CumulusUtils&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Some output files can be used with &#039;&#039;Cumulus 1&#039;&#039; but the charting possibilities rely on the availability of the JSON datafiles of &#039;&#039;CumulusMX&#039;&#039;. Therefore the use of &#039;&#039;CumulusUtils&#039;&#039; in combination with &#039;&#039;Cumulus 1&#039;&#039; is limited. The [[Website Generator|website generator]] in combination with &#039;&#039;Cumulus 1&#039;&#039; is not advised.&lt;br /&gt;
&lt;br /&gt;
== Output ==&lt;br /&gt;
The output of &#039;&#039;CumulusUtils&#039;&#039; consists of mainly of text files (extension: .txt) which are generated on demand. In Cutils idiom [[modules|&#039;&#039;modules&#039;&#039;]]. These text files can be incorporated in a website the user has or is making. Ultimately when using the [[Website Generator|website generator]] feature,  &#039;&#039;CumulusUtils&#039;&#039; generates a complete website, uploaded to the user domain and extendable through a [[User Defined Menu|user defined menu]]. When using the [[ChartsCompiler|&#039;&#039;ChartsCompiler&#039;&#039;]], the user can define his own charts and place the output where he wants just like other &#039;&#039;modules&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
All output of CumulusUtils is written [[Encoding_in_CumulusUtils|as UTF8 encoded text  files]].&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;CumulusUtils&#039;&#039; is available in a distribution which can be downloaded from the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44&amp;amp;t=17998 forum]. In the CumulusMX directory the user must create a directory &#039;&#039;utils&#039;&#039; (case dependent) and must copy the files of the distribution (including the subdirectories) to that directory. &lt;br /&gt;
# Rename &#039;&#039;CutilsCharts-default-for-use.def&#039;&#039; to &#039;&#039;CutilsCharts.def&#039;&#039;&lt;br /&gt;
# Then, on the domain for the website, the user needs to make two directories in the webroot: &#039;lib&#039; and &#039;css&#039;.&lt;br /&gt;
# Updating &#039;&#039;CumulusUtils&#039;&#039; is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the  utils directory.&lt;br /&gt;
# The language setting of CumulusUtils is for display/language handling only and does not affect the reading of the data in any way apart for the monthly log file name.&lt;br /&gt;
# From CMX version 4, the logfiles are written as invariant and the above striked through note has become invalid.&lt;br /&gt;
# From CMX version 4.7 (.NET 10; later rename version 5.0) there are changes in the database which require CMX to run before CUtils 8.2.0 can run. &lt;br /&gt;
&lt;br /&gt;
When installed you are ready to run. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
So after installing you have:&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the CumulusMX machine is:&lt;br /&gt;
  utils			(contents in the distribution)&lt;br /&gt;
    |--- bin		(in the distribution (from 4.7.0 and up))&lt;br /&gt;
    |--- utilslog	(Created by CumulusUtils)&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the Website is:&lt;br /&gt;
&lt;br /&gt;
  WebRoot		(Content uploaded by CumulusUtils)&lt;br /&gt;
    |--- lib		(JavaScript libraries, uploaded by CumulusUtils during a run)&lt;br /&gt;
    |--- css		(css files, uploaded by CumulusUtils during a run)&lt;br /&gt;
&lt;br /&gt;
=== Updating CumulusUtils ===&lt;br /&gt;
Updating CumulusUtils is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the utils directory. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
=== Informational files ===&lt;br /&gt;
In the distribution there are some files which are examples or defaults. When used, rename them (and possibly copy manually to the webroot).&lt;br /&gt;
No automatic copying of these files is done by CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
Beside the libraries the distribution contains:&lt;br /&gt;
#CUserAbout-example.txt : as an example of the user about file - when used rename to &#039;&#039;CUserAbout.txt&#039;&#039;&lt;br /&gt;
#CutilsMenu-example-for-use.def : as an example of the menu structure - when used rename to &#039;&#039;CutilsMenu.def&#039;&#039;&lt;br /&gt;
#CutilsCharts-examples.def : not intended for direct use, contains some more elaborate examples of the [[ChartsCompiler]] possibilities&lt;br /&gt;
&lt;br /&gt;
To avoid confusion it is left to the user to edit and maintain the files for use either on the website or on the CumulusMX machine.&lt;br /&gt;
&lt;br /&gt;
When creating website the file &#039;&#039;CutilsHead.def&#039;&#039; may have importance to you. See [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
=== Manually installing without FTP ===&lt;br /&gt;
NOTE: Not using the automatic upload system is disadvised. Because CumulusUtils is datadriven it requires the JSON files and the &#039;&#039;realtime.txt&#039;&#039; and &#039;&#039;realtimegauges.txt&#039;&#039; from CMX. Besides those, if you are using the &#039;&#039;UserAskedData&#039;&#039; feature of CumulusUtils there will be additional JSON files required for the server and without the upload module you will need a way to get them there. There is no copy feature like CMX has as CumulusUtils is designed as a website tool and an upload method is implicitly assumed present. However, manual handling can be done but is not advised.&lt;br /&gt;
&lt;br /&gt;
All required installation and generated files are present in the utils directory and copied with &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; to the server during a run of CumulusUtils.&lt;br /&gt;
If you don&#039;t use &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; you will have to copy manually.&lt;br /&gt;
&lt;br /&gt;
The PHP upload is by far preferred.&lt;br /&gt;
&lt;br /&gt;
=== Files involved ===&lt;br /&gt;
The list of installation files required and their destination is below. The generated Javascript files are included in the table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Distribution File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| index.html || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges.js || &amp;lt;webroot&amp;gt;/lib || Despite the same name this file is very different from the one in CMX&lt;br /&gt;
|-&lt;br /&gt;
| CUlanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsDefaults.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| suncalc.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUtween.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUsteelseries.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.rose.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.common.core.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges-ss.css || &amp;lt;webroot&amp;gt;/css&lt;br /&gt;
|-&lt;br /&gt;
! Generated File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| cumulusutils.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsLanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| *.txt || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsRecentdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsDailydata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataRECENT.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataDAILY.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataALL.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Realtime Files !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| realtime.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| realtimegauges.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| airlinkrealtime.txt || &amp;lt;webroot&amp;gt; || When the AirLink device is configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| customlogsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| meteocamrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|}&lt;br /&gt;
[1] : These files may be served by CMX in another directory (just like the CMX JSON data files). In that case the relative location is specified in the  inifile parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[2] : these files are generated in the utils directory and need to be configured as Extra Webfiles in CMX with the ticks: Realtime, Process and FTP. Note that the generated file has the webtags and remains local, the processed files contains the values and must be send to the &amp;lt;webroot&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Running CumulusUtils ==&lt;br /&gt;
&lt;br /&gt;
CumulusUtils is - up to v6.x.y - a [https://www.mono-project.com/ &#039;&#039;mono&#039;&#039;] executable. This is now deprecated and no longer supported.&lt;br /&gt;
&lt;br /&gt;
From v7.0.0 and up it runs under .NET 8 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this  link when on Linux&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
From v8.2.0 and up it runs under .NET 10 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this link when on Linux&#039;&#039;] (and this has changes to the database which require CMX to run before CUtils can successfully run).&lt;br /&gt;
&lt;br /&gt;
All environments are very different and not interchangeable. However running CumulusUtils is pretty similar on all environments and mono and dotnet (8 and 10) can co-exist on the same machine. See the CMX installation on how to install either mono or dotnet. CumulusUtils assumes the correct installation of either environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; runs on any operating system CumulusMX runs on and it &#039;&#039;&#039;MUST&#039;&#039;&#039; run in the CumulusMX directory (as &#039;&#039;working directory&#039;&#039;).&lt;br /&gt;
Running &#039;&#039;CumulusUtils&#039;&#039; is done from the commandline in a command window (under any OS) or from a script.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; takes one or more commandline parameters (in short: commands) and must be like (see NOTE 1 below; square brackets means &#039;&#039;optional&#039;&#039; so DON&#039;T TYPE THEM):&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;dotnet utils/bin/cumulusutils.dll [command]&#039;&#039;  (the &#039;&#039;.NET&#039;&#039; syntax - &#039;&#039;dotnet&#039;&#039; is obligatory on the commandline for UNIX. Note the &#039;&#039;&#039;dll&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
For UNIX: Note you will have to carry this on in scripts as well. Using the dotnet command in crontab requires using the explicit path to the dotnet command or defining the PATH environment variable in the crontab script which does not know the environment (a bit awkward).&lt;br /&gt;
&lt;br /&gt;
If no commands are given the application responds with:&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;CumulusUtils : No Arguments nothing to do. Exiting. See Manual.&lt;br /&gt;
                CumulusUtils Usage : utils/bin/cumulusutils.exe [args] (args case independent):&lt;br /&gt;
                  utils/bin/cumulusutils.exe&lt;br /&gt;
                      [ [[SysInfo]] ] [ [[Forecast]] ] [ [[StationMap]] ] [ [[UserReports]] ] [ [[MeteoCam]] ]&lt;br /&gt;
                      [ [[pwsFWI]] ][ [[Records - Top10|Top10]] ][ [[Graphs]] ][ [[Yadr]] ][ [[Records]] ]&lt;br /&gt;
                      [ [[NOAA]] ][ [[Records - DayRecords|DayRecords]] ][ [[AirLink]] ][ [[UserAskedData]] ]&lt;br /&gt;
                      [ [[ChartsCompiler|CompileOnly]] ] [ [[Extra Sensors|ExtraSensors]] ] [ [[Custom Logs|CustomLogs]] ] &lt;br /&gt;
                      [ [[Diary|Diary ]] ] [[CumulusUtils Runtime Library|CUlib]] ]&lt;br /&gt;
                      | [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] &lt;br /&gt;
&lt;br /&gt;
                OR (in case you use the website generator):&lt;br /&gt;
                   utils/bin/cumulusutils.exe [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
All &#039;&#039;modules&#039;&#039; mentioned in the  command will be described in their own pages here on the wiki and when available will be linked from here.&lt;br /&gt;
&lt;br /&gt;
The commands represent the &#039;&#039;modules&#039;&#039; the user is asking for to be generated. The output is generated to the utils directory in the &#039;&#039;CumulusMX&#039;&#039; directory. When asking for the generation of the website, the user not only gets all &#039;&#039;modules&#039;&#039; available but also an &#039;&#039;index.html&#039;&#039; file accompanied with some javascript infrastructure. Everything together then is the website which, when copied to the webroot, is ready for use.&lt;br /&gt;
&lt;br /&gt;
Commands to CumulusUtils - the module names - are case independent but the author prefers [https://en.wikipedia.org/wiki/Camel_case Upper Camel Case] (or Pascal Case).&lt;br /&gt;
&lt;br /&gt;
Copying to the webroot can also be done automatically through the FTP account of the user, much like &#039;&#039;CumulusMX&#039;&#039; itself copies e.g. the realtime.txt or the datafiles to the webroot. The FTP account and domain used are the same as present in the [[Cumulus.ini]] configuration. The PHP upload as exists in CMX can also be used with CUtils and it works exactly the same.&lt;br /&gt;
&lt;br /&gt;
=== Considerations with CMX configuration ===&lt;br /&gt;
Please note that CumulusUtils requires live data from CumulusMX to display what you expect. To accomplish that you need to configure CMX as follows:&lt;br /&gt;
&lt;br /&gt;
The things it is looking for are realtime.txt and realtimegauges.txt. Those are sent by CMX to the directory you configure in &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Web/Upload Site&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Normal Interval Settings&#039;&#039;: Tick both options and set the interval time to enable interval Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Standard File settings&#039;&#039;: Disable both options (for CumulusUtils, if you have websites which use those, leave it enabled)&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Graph File Settings&#039;&#039;: Enable all (only &#039;&#039;Upload&#039;&#039;, use &#039;&#039;Create Local&#039;&#039; only when needed) except the following:&lt;br /&gt;
   &#039;&#039;availabledata.json&#039;&#039;, &#039;&#039;dailyrain.json&#039;&#039;, &#039;&#039;dailytemp.json&#039;&#039;, &#039;&#039;sunhours.json&#039;&#039;, &#039;&#039;airquality.json&#039;&#039;, &#039;&#039;extra*.json&#039;&#039;, &#039;&#039;soil*.json&#039;&#039;, &#039;&#039;user*.json&#039;&#039;,&#039;&#039;co2*.json&#039;&#039; and &#039;&#039;leaf*.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Daily Graph File Settings&#039;&#039;: Enable all except &#039;&#039;alldailydegdaydata.json&#039;&#039;, &#039;&#039;alltempsumdata.json&#039;&#039; and &#039;&#039;allchillhrsdata.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both and set interval time to enable realtime Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both &#039;&#039;realtime.txt&#039;&#039; and &#039;&#039;realtimegauges.txt&#039;&#039; for Upload, use &#039;&#039;Create Local&#039;&#039; only when needed.&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Web/Upload Site=&amp;gt;General Settings&#039;&#039;: Tick &#039;&#039;UTF-8 encoding&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For the &#039;&#039;[[ChartsCompiler]]&#039;&#039; (you may be more selective later when understanding what and how):&lt;br /&gt;
&lt;br /&gt;
After selecting the required tables you need to select the variables they may contain:&lt;br /&gt;
&lt;br /&gt;
 In Settings=&amp;gt;Station Settings=&amp;gt;Graphs=&amp;gt;Data Series Visibility: Tick all&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: You may disable some fields later when you are more acquainted with the system. Disabling tables and field can be especially useful when you are worried about size of transfer and provider limits.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the &#039;&#039;[[ChartsCompiler]]&#039;&#039;, you may need the &#039;&#039;[[UserAskedData]]&#039;&#039; command to CumulusUtils. See the [[ChartsCompiler]].&lt;br /&gt;
&lt;br /&gt;
You may want to read about and understand the [[Website_Generator#CumulusRealTimeLocation|&#039;&#039;CumulusRealTimeLocation&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
=== When and why to run ===&lt;br /&gt;
Running CumulusUtils results in output which represents a static view of the data in a table or graphic format for display on your website (it may even create a complete website). The fact that the output is a static view requires the output to be regenerated when new data is available. Rerunning CumulusUtils is also required when you change anything in the configuration and can&#039;t wait to see that change reflected on the site. In general: changes in data and configuration require a rerun.&lt;br /&gt;
&lt;br /&gt;
Reruns for changes of data are typically once per day, just after rollover time. In that sense it is like running a new query.&lt;br /&gt;
&lt;br /&gt;
There are some exceptions to the daily rule: Sysinfo and [[UserAskedData]]&lt;br /&gt;
#Sysinfo: a rerun with Sysinfo is required when you wish to update the system information which can be a requirement from every 10 minutes to once per day&lt;br /&gt;
#[[UserAskedData]]: provides data for charts which are otherwise not available. Again this is at a user desired frequency which is recommended to be the FTP frequency defined in Cumulus.ini (parameter &#039;&#039;UpdateInterval&#039;&#039; in section [FTP site])&lt;br /&gt;
&lt;br /&gt;
==== RPi: Using crontab ====&lt;br /&gt;
Automating the run of CumulusUtils on the Raspberry Pi is typically done through [https://man7.org/linux/man-pages/man5/crontab.5.html &#039;&#039;crontab&#039;&#039;]. Below is the crontab of the author of CumulusUtils to be used as an &#039;&#039;&#039;example&#039;&#039;&#039;! &lt;br /&gt;
&lt;br /&gt;
===== For dotnet =====&lt;br /&gt;
  05 1 * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll thrifty website&lt;br /&gt;
  1-51/10 * * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll sysinfo UserAskedData UserReports&lt;br /&gt;
&lt;br /&gt;
==== Windows: Using the scheduler ====&lt;br /&gt;
===== How to create a scheduled task =====&lt;br /&gt;
Prior to doing this we need to also create the script that the task will use.&lt;br /&gt;
Open notepad or your favourite text editor (preferred use: Notepad++).&lt;br /&gt;
&lt;br /&gt;
You can copy paste the below and save as cumulusutils.bat&lt;br /&gt;
(It can be a filename of choice but must have extension of .bat, if using windows notepad, underneath the File name: option, will need to set Save as type: option to All Files (*.*). This way when the File name: is set as cumulusutils.bat it will save it as that and not cumulusutils.bat.txt)&lt;br /&gt;
====== Batch file code of cumulusutils.bat ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v6 and below (running under mono):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd\&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;/br&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;/br&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX C:\CumulusMX\utils\bin\cumulusutils.exe Website&amp;lt;/br&amp;gt;&lt;br /&gt;
 :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   exit&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: The command shown here is &#039;&#039;Website&#039;&#039;. The user can put any command he likes in here (with or without &#039;&#039;Thrifty&#039;&#039;) depending on what he wants to achieve. Possibly he has to create multiple tasks (e.g. UserAskedData specifically runs on a higher frequency than website). These commands then require their own batch files.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v7 and up (running under dotnet):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd\&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;br/&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;br/&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX dotnet C:\CumulusMX\utils\bin\cumulusutils.dll Website&amp;lt;br/&amp;gt;&lt;br /&gt;
 :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   exit&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Task creation process =====&lt;br /&gt;
Within the Task Scheduler Library&lt;br /&gt;
#Create “New Task…” (actions pane), or right click middle pane and choose “Create New Task” (not Create Basic Task).&lt;br /&gt;
##On the General tab of the new task (General information about the task).&lt;br /&gt;
##Set desired name for the Task (Example name CumulusUtils, can also set description if desired).&lt;br /&gt;
##Click “Change User or Group…”.&lt;br /&gt;
##Type in here the word system (click on “Check Names” if desired, to confirm it is correct and it should then display as SYSTEM in capitals).&lt;br /&gt;
##Click OK to use this user account.&lt;br /&gt;
##Note in Security options part of the new task creation process it should now state under. When running the task, use the following user account: NT AUTHORITY\SYSTEM &amp;lt;br/&amp;gt;(Convenient reason for this is that when the task runs, it runs is running as system account and so is not seen popping up on screen when it is running.)&lt;br /&gt;
##“Configure for:” not required to be changed, can be changed to version of operating system.&lt;br /&gt;
#On the Triggers tab of the new task (Setting when and how often the task runs).&lt;br /&gt;
##Click on “New”, to create a new launch time and frequency of the task.&lt;br /&gt;
##Begin the task: option should default to “On a schedule”, this is the desired option.&lt;br /&gt;
##Under the settings section choose “Daily” option.&lt;br /&gt;
##Start: date can be left as is, set the desired start time of the task. Set to “12:00:15 am”.&amp;lt;/br&amp;gt;(Reason for this setting with 15 second delay is trying not to compete with CumulusMX upload tasks).&lt;br /&gt;
##In the advanced part, enable Repeat task every: and choose desired interval.&amp;lt;/br&amp;gt;With the option for a duration of: default setting of “1 day” is used.&lt;br /&gt;
##Set Stop task if it runs longer than: to “30 minutes” (if the task runs longer than the time set, it is stopped. This applies to the individually triggered task, and not the overall routine of this scheduled task, with it’s repeating trigger times).&lt;br /&gt;
##Confirm that the Enabled options is ticked to make active this trigger routine.&lt;br /&gt;
#On the Actions tab (Setting what the task is to do).&lt;br /&gt;
##Click on “New…” to create a new action.&lt;br /&gt;
##Action: should default to “Start a program” this is correct.&lt;br /&gt;
##In the Program/Script: part, type the path to the program to run, or click “Browse” to navigate and select the program to run. (example C:\CumulusMX\batch_files\cumulusutils.bat).&lt;br /&gt;
#On the Conditions tab (setting other conditions).&lt;br /&gt;
##Under Power, untick Start the task only if the computer us on AC power&amp;lt;/br&amp;gt;(This then enables the task to start and run even if on battery. It will automatically untick Stop if the computers switches to batter power.)&lt;br /&gt;
#On the Settings tab (additional other settings for the task).&lt;br /&gt;
##Confirm ticked for Allow task to be run on demand.&lt;br /&gt;
##By default Stop the task if it runs longer than: is already ticket and set as 3 days.Change to 1 hour (the behaviour here is the same as instruction 3.f.)&lt;br /&gt;
##Confirm ticked for If the running ask does not end when requested, for it to stop.&lt;br /&gt;
##Default setting of “Do not start a new instance” Is OK.&lt;br /&gt;
#Click on OK down the bottom to complete and commit the creation of this new task.&lt;br /&gt;
&lt;br /&gt;
===== Customisation =====&lt;br /&gt;
One can also customise/fine tune the task further by exporting it, default export format is XML. Then can edit in favourite text editor and reimport when done. May be useful in particular for fine tuning the repetition times of the task.&lt;br /&gt;
&lt;br /&gt;
==== MAC: Using crontab (advised) ====&lt;br /&gt;
Automating the run of CumulusUtils on the MAC is typically done through [https://share.google/aimode/CMq6jMIq3FvXLT8bn &#039;&#039;crontab&#039;&#039;]. The link is a Google Gemini shortcut which offers more batch options on the MAC. The advise is to use &#039;&#039;crontab&#039;&#039; to have support available. Below is the crontab on RPi of the author of CumulusUtils to be used as an &#039;&#039;&#039;example&#039;&#039;&#039;! &lt;br /&gt;
&lt;br /&gt;
===== For dotnet =====&lt;br /&gt;
  05 1 * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll thrifty website&lt;br /&gt;
  1-51/10 * * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll sysinfo UserAskedData UserReports&lt;br /&gt;
&lt;br /&gt;
== Additional remarks ==&lt;br /&gt;
&lt;br /&gt;
#CumulusUtils is written in C#, HTML and javascript. All HTML and javascript is embedded in the C# code and generated on execution of &#039;&#039;CumulusUtils&#039;&#039;. The cumuluscharts.txt charts library was based on the cumuluscharts.js originally distributed with &#039;&#039;CumulusMX&#039;&#039;, probably the version a bit before April 2020 and has been modified since. With the appearance of the [[ChartsCompiler]] the name cumuluscharts.txt has been preserved but the technique of creating the charts has been changed.&lt;br /&gt;
#As CumulusUtils itself runs in the Cumulus directory, the data directory (data) is one level below. CumulusUtils currently uses - a copy of - dayfile.txt, the monthly logfiles and incidentally the alltime.ini file. It also takes information from Cumulus.ini.  All output is written to the utils/ subdirectory. All logs are created in the utils/utilslog/ subdirectory. It also uses the AirLink.log and the ExtraLog files in a similar way when the user has such devices.&lt;br /&gt;
#The output of CumulusUtils consists of UTF8 encoded text files. They can be brought to your website manually through some ftp tool (e.g. WinSCP) or by using the Extra Web Files functionality in the setting of Cumulus (deprecated) or by using the [[FTP facility]]. &lt;br /&gt;
#CumulusUtils can output for many languages. See the specific page on [[Language in CumulusUtils|language in CumulusUtils]].&lt;br /&gt;
#Development of CumulusUtils started in 9&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; of August 2019 with an initial commit of the Top10 written in C. Development changed rapidly to C# with an initial commit of Top10 on November 19 2019 of version  0.7.0. The rest  of the history can be read in the [[Release Notes|release notes]].&lt;br /&gt;
#Please, present yourselves on the CumulusUtils [[Map - Users of CumulusUtils|usermap]]. For website users it is automatic and obligatory but the URL needs to be filled in by yourself in the inifile. When not a complete website, please fill in the URL to the page you use CUtils for (e.g. pwsFWI).&lt;br /&gt;
#In case of problems there exists [[Errorlogging]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: comments to this series of articles is welcome. Direct edit of the article (request an account) is switched off. Contacting the author of CumulusUtils [https://cumulus.hosiene.co.uk/memberlist.php?mode=viewprofile&amp;amp;u=9016 HansR] on the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44 forum] or through PM.&lt;br /&gt;
&lt;br /&gt;
[[Category:WebTools]][[Category:User Contributions]][[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12356</id>
		<title>CumulusUtils</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12356"/>
		<updated>2026-02-24T12:19:08Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* When and why to run */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This is the first page of the CumulusUtils Wiki. From here you should be able to find everything you need to know for this tool.&lt;br /&gt;
&lt;br /&gt;
If needed you can always go to the CumulusUtils Category page (see bottom of this page).&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
This paragraph describes what is required to use CumuluUtils (To be modified/extended by user experience).&lt;br /&gt;
#A working CumulusMX environment on Windows, Linux (RPi) or MacOS&lt;br /&gt;
#On Linux (and probably MacOS too) the user must verify whether [[SysInfo#Introduction|the application &#039;&#039;lshw&#039;&#039; has been installed]].&lt;br /&gt;
#NOTE: no experience by the author on MacOS exists so be prepared to communicate&lt;br /&gt;
#For the &#039;&#039;[[Charts_-_Misc_charts|Miscellaneous Charts]]&#039;&#039; more data - a year starting on jan 1 - is required to make these useful&lt;br /&gt;
#From CMX4 and CMX5 change in the handling of datetime in the logs. Corresponding CUtils versions are available. It is advised to upgrade to the last version of CMX/CUtils as fast as possible because of support.&lt;br /&gt;
#For longer data series it will be useful to run the [[Software#Create_Missing|CMX supporting application &#039;&#039;CreateMissing.exe&#039;&#039;]] beforehand.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
The goal of &#039;&#039;CumulusUtils&#039;&#039; (abbr: &#039;&#039;Cutils&#039;&#039; or &#039;&#039;CUtils&#039;&#039;) is to facilitate website creation for users of CumulusMX without exposure to coding in e.g. PHP or javascript. Having a meteo-website should not be privileged to users with great IT-skills. Making charts should not be demanding for programming skills in SQL or making it otherwise impossible to create charts without diving deep into the technique involved in CumulusMX (which actually is also the case with SQL). Note that this does not  mean you can&#039;t use IT skills: the &#039;&#039;user configurable menu&#039;&#039; offers an opening to expand as far as you wish.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; positions itself as a configurable application for which the understanding of how to run it and how to configure it is the most important thing to know. For configuration &#039;&#039;CumulusUtils&#039;&#039; uses [[Cumulusutils.ini|&#039;&#039;cumulusutils.ini&#039;&#039;]] file which resides in the CumulusMX directory. If that file does not exist, it will be created. The same holds for the CUstringsXX.ini file (containing your translations for CUtils text strings). All other files related to &#039;&#039;CumulusUtils&#039;&#039; reside in the utils directory.&lt;br /&gt;
&lt;br /&gt;
The charts are created using [https://www.highcharts.com/ HighCharts] using their [https://shop.highcharts.com/license-eula &amp;quot;Personal Use&amp;quot; License]. If you want to use the charts or the [[Website Generator]] of &#039;&#039;CumulusUtils&#039;&#039;, please make yourself acquainted with this license.&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
The user is assumed to have basic computer skills and knowledge about the Operating System and directory structure. The user must also be aware of the directory infrastructure of CumulusMX and needs to be aware  of the meaning of the terms &#039;&#039;webroot&#039;&#039; and &#039;&#039;FTProot&#039;&#039; and &#039;&#039;Working Directory&#039;&#039;. The user should be able to understand and edit the ini files (both from &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;CumulusUtils&#039;&#039;). The user should understand the basic functioning of &#039;&#039;CumulusMX&#039;&#039; which means the correct availability of &#039;&#039;CumulusMX&#039;&#039; is a precondition for using &#039;&#039;CumulusUtils&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Some output files can be used with &#039;&#039;Cumulus 1&#039;&#039; but the charting possibilities rely on the availability of the JSON datafiles of &#039;&#039;CumulusMX&#039;&#039;. Therefore the use of &#039;&#039;CumulusUtils&#039;&#039; in combination with &#039;&#039;Cumulus 1&#039;&#039; is limited. The [[Website Generator|website generator]] in combination with &#039;&#039;Cumulus 1&#039;&#039; is not advised.&lt;br /&gt;
&lt;br /&gt;
== Output ==&lt;br /&gt;
The output of &#039;&#039;CumulusUtils&#039;&#039; consists of mainly of text files (extension: .txt) which are generated on demand. In Cutils idiom [[modules|&#039;&#039;modules&#039;&#039;]]. These text files can be incorporated in a website the user has or is making. Ultimately when using the [[Website Generator|website generator]] feature,  &#039;&#039;CumulusUtils&#039;&#039; generates a complete website, uploaded to the user domain and extendable through a [[User Defined Menu|user defined menu]]. When using the [[ChartsCompiler|&#039;&#039;ChartsCompiler&#039;&#039;]], the user can define his own charts and place the output where he wants just like other &#039;&#039;modules&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
All output of CumulusUtils is written [[Encoding_in_CumulusUtils|as UTF8 encoded text  files]].&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;CumulusUtils&#039;&#039; is available in a distribution which can be downloaded from the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44&amp;amp;t=17998 forum]. In the CumulusMX directory the user must create a directory &#039;&#039;utils&#039;&#039; (case dependent) and must copy the files of the distribution (including the subdirectories) to that directory. &lt;br /&gt;
# Rename &#039;&#039;CutilsCharts-default-for-use.def&#039;&#039; to &#039;&#039;CutilsCharts.def&#039;&#039;&lt;br /&gt;
# Then, on the domain for the website, the user needs to make two directories in the webroot: &#039;lib&#039; and &#039;css&#039;.&lt;br /&gt;
# Updating &#039;&#039;CumulusUtils&#039;&#039; is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the  utils directory.&lt;br /&gt;
# The language setting of CumulusUtils is for display/language handling only and does not affect the reading of the data in any way apart for the monthly log file name.&lt;br /&gt;
# From CMX version 4, the logfiles are written as invariant and the above striked through note has become invalid.&lt;br /&gt;
# From CMX version 4.7 (.NET 10; later rename version 5.0) there are changes in the database which require CMX to run before CUtils 8.2.0 can run. &lt;br /&gt;
&lt;br /&gt;
When installed you are ready to run. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
So after installing you have:&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the CumulusMX machine is:&lt;br /&gt;
  utils			(contents in the distribution)&lt;br /&gt;
    |--- bin		(in the distribution (from 4.7.0 and up))&lt;br /&gt;
    |--- utilslog	(Created by CumulusUtils)&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the Website is:&lt;br /&gt;
&lt;br /&gt;
  WebRoot		(Content uploaded by CumulusUtils)&lt;br /&gt;
    |--- lib		(JavaScript libraries, uploaded by CumulusUtils during a run)&lt;br /&gt;
    |--- css		(css files, uploaded by CumulusUtils during a run)&lt;br /&gt;
&lt;br /&gt;
=== Updating CumulusUtils ===&lt;br /&gt;
Updating CumulusUtils is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the utils directory. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
=== Informational files ===&lt;br /&gt;
In the distribution there are some files which are examples or defaults. When used, rename them (and possibly copy manually to the webroot).&lt;br /&gt;
No automatic copying of these files is done by CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
Beside the libraries the distribution contains:&lt;br /&gt;
#CUserAbout-example.txt : as an example of the user about file - when used rename to &#039;&#039;CUserAbout.txt&#039;&#039;&lt;br /&gt;
#CutilsMenu-example-for-use.def : as an example of the menu structure - when used rename to &#039;&#039;CutilsMenu.def&#039;&#039;&lt;br /&gt;
#CutilsCharts-examples.def : not intended for direct use, contains some more elaborate examples of the [[ChartsCompiler]] possibilities&lt;br /&gt;
&lt;br /&gt;
To avoid confusion it is left to the user to edit and maintain the files for use either on the website or on the CumulusMX machine.&lt;br /&gt;
&lt;br /&gt;
When creating website the file &#039;&#039;CutilsHead.def&#039;&#039; may have importance to you. See [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
=== Manually installing without FTP ===&lt;br /&gt;
NOTE: Not using the automatic upload system is disadvised. Because CumulusUtils is datadriven it requires the JSON files and the &#039;&#039;realtime.txt&#039;&#039; and &#039;&#039;realtimegauges.txt&#039;&#039; from CMX. Besides those, if you are using the &#039;&#039;UserAskedData&#039;&#039; feature of CumulusUtils there will be additional JSON files required for the server and without the upload module you will need a way to get them there. There is no copy feature like CMX has as CumulusUtils is designed as a website tool and an upload method is implicitly assumed present. However, manual handling can be done but is not advised.&lt;br /&gt;
&lt;br /&gt;
All required installation and generated files are present in the utils directory and copied with &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; to the server during a run of CumulusUtils.&lt;br /&gt;
If you don&#039;t use &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; you will have to copy manually.&lt;br /&gt;
&lt;br /&gt;
The PHP upload is by far preferred.&lt;br /&gt;
&lt;br /&gt;
=== Files involved ===&lt;br /&gt;
The list of installation files required and their destination is below. The generated Javascript files are included in the table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Distribution File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| index.html || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges.js || &amp;lt;webroot&amp;gt;/lib || Despite the same name this file is very different from the one in CMX&lt;br /&gt;
|-&lt;br /&gt;
| CUlanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsDefaults.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| suncalc.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUtween.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUsteelseries.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.rose.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.common.core.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges-ss.css || &amp;lt;webroot&amp;gt;/css&lt;br /&gt;
|-&lt;br /&gt;
! Generated File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| cumulusutils.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsLanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| *.txt || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsRecentdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsDailydata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataRECENT.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataDAILY.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataALL.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Realtime Files !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| realtime.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| realtimegauges.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| airlinkrealtime.txt || &amp;lt;webroot&amp;gt; || When the AirLink device is configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| customlogsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| meteocamrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|}&lt;br /&gt;
[1] : These files may be served by CMX in another directory (just like the CMX JSON data files). In that case the relative location is specified in the  inifile parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[2] : these files are generated in the utils directory and need to be configured as Extra Webfiles in CMX with the ticks: Realtime, Process and FTP. Note that the generated file has the webtags and remains local, the processed files contains the values and must be send to the &amp;lt;webroot&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Running CumulusUtils ==&lt;br /&gt;
&lt;br /&gt;
CumulusUtils is - up to v6.x.y - a [https://www.mono-project.com/ &#039;&#039;mono&#039;&#039;] executable. This is now deprecated and no longer supported.&lt;br /&gt;
&lt;br /&gt;
From v7.0.0 and up it runs under .NET 8 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this  link when on Linux&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
From v8.2.0 and up it runs under .NET 10 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this link when on Linux&#039;&#039;] (and this has changes to the database which require CMX to run before CUtils can successfully run).&lt;br /&gt;
&lt;br /&gt;
All environments are very different and not interchangeable. However running CumulusUtils is pretty similar on all environments and mono and dotnet (8 and 10) can co-exist on the same machine. See the CMX installation on how to install either mono or dotnet. CumulusUtils assumes the correct installation of either environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; runs on any operating system CumulusMX runs on and it &#039;&#039;&#039;MUST&#039;&#039;&#039; run in the CumulusMX directory (as &#039;&#039;working directory&#039;&#039;).&lt;br /&gt;
Running &#039;&#039;CumulusUtils&#039;&#039; is done from the commandline in a command window (under any OS) or from a script.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; takes one or more commandline parameters (in short: commands) and must be like (see NOTE 1 below; square brackets means &#039;&#039;optional&#039;&#039; so DON&#039;T TYPE THEM):&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;dotnet utils/bin/cumulusutils.dll [command]&#039;&#039;  (the &#039;&#039;.NET&#039;&#039; syntax - &#039;&#039;dotnet&#039;&#039; is obligatory on the commandline for UNIX. Note the &#039;&#039;&#039;dll&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
For UNIX: Note you will have to carry this on in scripts as well. Using the dotnet command in crontab requires using the explicit path to the dotnet command or defining the PATH environment variable in the crontab script which does not know the environment (a bit awkward).&lt;br /&gt;
&lt;br /&gt;
If no commands are given the application responds with:&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;CumulusUtils : No Arguments nothing to do. Exiting. See Manual.&lt;br /&gt;
                CumulusUtils Usage : utils/bin/cumulusutils.exe [args] (args case independent):&lt;br /&gt;
                  utils/bin/cumulusutils.exe&lt;br /&gt;
                      [ [[SysInfo]] ] [ [[Forecast]] ] [ [[StationMap]] ] [ [[UserReports]] ] [ [[MeteoCam]] ]&lt;br /&gt;
                      [ [[pwsFWI]] ][ [[Records - Top10|Top10]] ][ [[Graphs]] ][ [[Yadr]] ][ [[Records]] ]&lt;br /&gt;
                      [ [[NOAA]] ][ [[Records - DayRecords|DayRecords]] ][ [[AirLink]] ][ [[UserAskedData]] ]&lt;br /&gt;
                      [ [[ChartsCompiler|CompileOnly]] ] [ [[Extra Sensors|ExtraSensors]] ] [ [[Custom Logs|CustomLogs]] ] &lt;br /&gt;
                      [ [[Diary|Diary ]] ] [[CumulusUtils Runtime Library|CUlib]] ]&lt;br /&gt;
                      | [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] &lt;br /&gt;
&lt;br /&gt;
                OR (in case you use the website generator):&lt;br /&gt;
                   utils/bin/cumulusutils.exe [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
All &#039;&#039;modules&#039;&#039; mentioned in the  command will be described in their own pages here on the wiki and when available will be linked from here.&lt;br /&gt;
&lt;br /&gt;
The commands represent the &#039;&#039;modules&#039;&#039; the user is asking for to be generated. The output is generated to the utils directory in the &#039;&#039;CumulusMX&#039;&#039; directory. When asking for the generation of the website, the user not only gets all &#039;&#039;modules&#039;&#039; available but also an &#039;&#039;index.html&#039;&#039; file accompanied with some javascript infrastructure. Everything together then is the website which, when copied to the webroot, is ready for use.&lt;br /&gt;
&lt;br /&gt;
Commands to CumulusUtils - the module names - are case independent but the author prefers [https://en.wikipedia.org/wiki/Camel_case Upper Camel Case] (or Pascal Case).&lt;br /&gt;
&lt;br /&gt;
Copying to the webroot can also be done automatically through the FTP account of the user, much like &#039;&#039;CumulusMX&#039;&#039; itself copies e.g. the realtime.txt or the datafiles to the webroot. The FTP account and domain used are the same as present in the [[Cumulus.ini]] configuration. The PHP upload as exists in CMX can also be used with CUtils and it works exactly the same.&lt;br /&gt;
&lt;br /&gt;
=== Considerations with CMX configuration ===&lt;br /&gt;
Please note that CumulusUtils requires live data from CumulusMX to display what you expect. To accomplish that you need to configure CMX as follows:&lt;br /&gt;
&lt;br /&gt;
The things it is looking for are realtime.txt and realtimegauges.txt. Those are sent by CMX to the directory you configure in &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Web/Upload Site&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Normal Interval Settings&#039;&#039;: Tick both options and set the interval time to enable interval Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Standard File settings&#039;&#039;: Disable both options (for CumulusUtils, if you have websites which use those, leave it enabled)&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Graph File Settings&#039;&#039;: Enable all (only &#039;&#039;Upload&#039;&#039;, use &#039;&#039;Create Local&#039;&#039; only when needed) except the following:&lt;br /&gt;
   &#039;&#039;availabledata.json&#039;&#039;, &#039;&#039;dailyrain.json&#039;&#039;, &#039;&#039;dailytemp.json&#039;&#039;, &#039;&#039;sunhours.json&#039;&#039;, &#039;&#039;airquality.json&#039;&#039;, &#039;&#039;extra*.json&#039;&#039;, &#039;&#039;soil*.json&#039;&#039;, &#039;&#039;user*.json&#039;&#039;,&#039;&#039;co2*.json&#039;&#039; and &#039;&#039;leaf*.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Daily Graph File Settings&#039;&#039;: Enable all except &#039;&#039;alldailydegdaydata.json&#039;&#039;, &#039;&#039;alltempsumdata.json&#039;&#039; and &#039;&#039;allchillhrsdata.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both and set interval time to enable realtime Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both &#039;&#039;realtime.txt&#039;&#039; and &#039;&#039;realtimegauges.txt&#039;&#039; for Upload, use &#039;&#039;Create Local&#039;&#039; only when needed.&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Web/Upload Site=&amp;gt;General Settings&#039;&#039;: Tick &#039;&#039;UTF-8 encoding&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For the &#039;&#039;[[ChartsCompiler]]&#039;&#039; (you may be more selective later when understanding what and how):&lt;br /&gt;
&lt;br /&gt;
After selecting the required tables you need to select the variables they may contain:&lt;br /&gt;
&lt;br /&gt;
 In Settings=&amp;gt;Station Settings=&amp;gt;Graphs=&amp;gt;Data Series Visibility: Tick all&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: You may disable some fields later when you are more acquainted with the system. Disabling tables and field can be especially useful when you are worried about size of transfer and provider limits.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the &#039;&#039;[[ChartsCompiler]]&#039;&#039;, you may need the &#039;&#039;[[UserAskedData]]&#039;&#039; command to CumulusUtils. See the [[ChartsCompiler]].&lt;br /&gt;
&lt;br /&gt;
You may want to read about and understand the [[Website_Generator#CumulusRealTimeLocation|&#039;&#039;CumulusRealTimeLocation&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
=== When and why to run ===&lt;br /&gt;
Running CumulusUtils results in output which represents a static view of the data in a table or graphic format for display on your website (it may even create a complete website). The fact that the output is a static view requires the output to be regenerated when new data is available. Rerunning CumulusUtils is also required when you change anything in the configuration and can&#039;t wait to see that change reflected on the site. In general: changes in data and configuration require a rerun.&lt;br /&gt;
&lt;br /&gt;
Reruns for changes of data are typically once per day, just after rollover time. In that sense it is like running a new query.&lt;br /&gt;
&lt;br /&gt;
There are some exceptions to the daily rule: Sysinfo and [[UserAskedData]]&lt;br /&gt;
#Sysinfo: a rerun with Sysinfo is required when you wish to update the system information which can be a requirement from every 10 minutes to once per day&lt;br /&gt;
#[[UserAskedData]]: provides data for charts which are otherwise not available. Again this is at a user desired frequency which is recommended to be the FTP frequency defined in Cumulus.ini (parameter &#039;&#039;UpdateInterval&#039;&#039; in section [FTP site])&lt;br /&gt;
&lt;br /&gt;
==== RPi: Using crontab ====&lt;br /&gt;
Automating the run of CumulusUtils on the Raspberry Pi is typically done through [https://man7.org/linux/man-pages/man5/crontab.5.html &#039;&#039;crontab&#039;&#039;]. Below is the crontab of the author of CumulusUtils to be used as an &#039;&#039;&#039;example&#039;&#039;&#039;! &lt;br /&gt;
&lt;br /&gt;
===== For dotnet =====&lt;br /&gt;
  05 1 * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll thrifty website&lt;br /&gt;
  1-51/10 * * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll sysinfo UserAskedData UserReports&lt;br /&gt;
&lt;br /&gt;
==== Windows: Using the scheduler ====&lt;br /&gt;
===== How to create a scheduled task =====&lt;br /&gt;
Prior to doing this we need to also create the script that the task will use.&lt;br /&gt;
Open notepad or your favourite text editor (preferred use: Notepad++).&lt;br /&gt;
&lt;br /&gt;
You can copy paste the below and save as cumulusutils.bat&lt;br /&gt;
(It can be a filename of choice but must have extension of .bat, if using windows notepad, underneath the File name: option, will need to set Save as type: option to All Files (*.*). This way when the File name: is set as cumulusutils.bat it will save it as that and not cumulusutils.bat.txt)&lt;br /&gt;
====== Batch file code of cumulusutils.bat ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v6 and below (running under mono):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd\&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;/br&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;/br&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX C:\CumulusMX\utils\bin\cumulusutils.exe Website&amp;lt;/br&amp;gt;&lt;br /&gt;
 :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   exit&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: The command shown here is &#039;&#039;Website&#039;&#039;. The user can put any command he likes in here (with or without &#039;&#039;Thrifty&#039;&#039;) depending on what he wants to achieve. Possibly he has to create multiple tasks (e.g. UserAskedData specifically runs on a higher frequency than website). These commands then require their own batch files.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v7 and up (running under dotnet):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd\&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;br/&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;br/&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX dotnet C:\CumulusMX\utils\bin\cumulusutils.dll Website&amp;lt;br/&amp;gt;&lt;br /&gt;
 :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   exit&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Task creation process =====&lt;br /&gt;
Within the Task Scheduler Library&lt;br /&gt;
#Create “New Task…” (actions pane), or right click middle pane and choose “Create New Task” (not Create Basic Task).&lt;br /&gt;
##On the General tab of the new task (General information about the task).&lt;br /&gt;
##Set desired name for the Task (Example name CumulusUtils, can also set description if desired).&lt;br /&gt;
##Click “Change User or Group…”.&lt;br /&gt;
##Type in here the word system (click on “Check Names” if desired, to confirm it is correct and it should then display as SYSTEM in capitals).&lt;br /&gt;
##Click OK to use this user account.&lt;br /&gt;
##Note in Security options part of the new task creation process it should now state under. When running the task, use the following user account: NT AUTHORITY\SYSTEM &amp;lt;br/&amp;gt;(Convenient reason for this is that when the task runs, it runs is running as system account and so is not seen popping up on screen when it is running.)&lt;br /&gt;
##“Configure for:” not required to be changed, can be changed to version of operating system.&lt;br /&gt;
#On the Triggers tab of the new task (Setting when and how often the task runs).&lt;br /&gt;
##Click on “New”, to create a new launch time and frequency of the task.&lt;br /&gt;
##Begin the task: option should default to “On a schedule”, this is the desired option.&lt;br /&gt;
##Under the settings section choose “Daily” option.&lt;br /&gt;
##Start: date can be left as is, set the desired start time of the task. Set to “12:00:15 am”.&amp;lt;/br&amp;gt;(Reason for this setting with 15 second delay is trying not to compete with CumulusMX upload tasks).&lt;br /&gt;
##In the advanced part, enable Repeat task every: and choose desired interval.&amp;lt;/br&amp;gt;With the option for a duration of: default setting of “1 day” is used.&lt;br /&gt;
##Set Stop task if it runs longer than: to “30 minutes” (if the task runs longer than the time set, it is stopped. This applies to the individually triggered task, and not the overall routine of this scheduled task, with it’s repeating trigger times).&lt;br /&gt;
##Confirm that the Enabled options is ticked to make active this trigger routine.&lt;br /&gt;
#On the Actions tab (Setting what the task is to do).&lt;br /&gt;
##Click on “New…” to create a new action.&lt;br /&gt;
##Action: should default to “Start a program” this is correct.&lt;br /&gt;
##In the Program/Script: part, type the path to the program to run, or click “Browse” to navigate and select the program to run. (example C:\CumulusMX\batch_files\cumulusutils.bat).&lt;br /&gt;
#On the Conditions tab (setting other conditions).&lt;br /&gt;
##Under Power, untick Start the task only if the computer us on AC power&amp;lt;/br&amp;gt;(This then enables the task to start and run even if on battery. It will automatically untick Stop if the computers switches to batter power.)&lt;br /&gt;
#On the Settings tab (additional other settings for the task).&lt;br /&gt;
##Confirm ticked for Allow task to be run on demand.&lt;br /&gt;
##By default Stop the task if it runs longer than: is already ticket and set as 3 days.Change to 1 hour (the behaviour here is the same as instruction 3.f.)&lt;br /&gt;
##Confirm ticked for If the running ask does not end when requested, for it to stop.&lt;br /&gt;
##Default setting of “Do not start a new instance” Is OK.&lt;br /&gt;
#Click on OK down the bottom to complete and commit the creation of this new task.&lt;br /&gt;
&lt;br /&gt;
===== Customisation =====&lt;br /&gt;
One can also customise/fine tune the task further by exporting it, default export format is XML. Then can edit in favourite text editor and reimport when done. May be useful in particular for fine tuning the repetition times of the task.&lt;br /&gt;
&lt;br /&gt;
==== MAC: Using crontab (advised) ====&lt;br /&gt;
Automating the run of CumulusUtils on the MAC is typically done through [https://share.google/aimode/CMq6jMIq3FvXLT8bn &#039;&#039;crontab&#039;&#039;]. The link is a Gemini link which offers more batch options on the MAC. The advise is to use &#039;&#039;crontab&#039;&#039; to have support available. Below is the crontab on RPi of the author of CumulusUtils to be used as an &#039;&#039;&#039;example&#039;&#039;&#039;! &lt;br /&gt;
&lt;br /&gt;
===== For dotnet =====&lt;br /&gt;
  05 1 * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll thrifty website&lt;br /&gt;
  1-51/10 * * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll sysinfo UserAskedData UserReports&lt;br /&gt;
&lt;br /&gt;
== Additional remarks ==&lt;br /&gt;
&lt;br /&gt;
#CumulusUtils is written in C#, HTML and javascript. All HTML and javascript is embedded in the C# code and generated on execution of &#039;&#039;CumulusUtils&#039;&#039;. The cumuluscharts.txt charts library was based on the cumuluscharts.js originally distributed with &#039;&#039;CumulusMX&#039;&#039;, probably the version a bit before April 2020 and has been modified since. With the appearance of the [[ChartsCompiler]] the name cumuluscharts.txt has been preserved but the technique of creating the charts has been changed.&lt;br /&gt;
#As CumulusUtils itself runs in the Cumulus directory, the data directory (data) is one level below. CumulusUtils currently uses - a copy of - dayfile.txt, the monthly logfiles and incidentally the alltime.ini file. It also takes information from Cumulus.ini.  All output is written to the utils/ subdirectory. All logs are created in the utils/utilslog/ subdirectory. It also uses the AirLink.log and the ExtraLog files in a similar way when the user has such devices.&lt;br /&gt;
#The output of CumulusUtils consists of UTF8 encoded text files. They can be brought to your website manually through some ftp tool (e.g. WinSCP) or by using the Extra Web Files functionality in the setting of Cumulus (deprecated) or by using the [[FTP facility]]. &lt;br /&gt;
#CumulusUtils can output for many languages. See the specific page on [[Language in CumulusUtils|language in CumulusUtils]].&lt;br /&gt;
#Development of CumulusUtils started in 9&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; of August 2019 with an initial commit of the Top10 written in C. Development changed rapidly to C# with an initial commit of Top10 on November 19 2019 of version  0.7.0. The rest  of the history can be read in the [[Release Notes|release notes]].&lt;br /&gt;
#Please, present yourselves on the CumulusUtils [[Map - Users of CumulusUtils|usermap]]. For website users it is automatic and obligatory but the URL needs to be filled in by yourself in the inifile. When not a complete website, please fill in the URL to the page you use CUtils for (e.g. pwsFWI).&lt;br /&gt;
#In case of problems there exists [[Errorlogging]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: comments to this series of articles is welcome. Direct edit of the article (request an account) is switched off. Contacting the author of CumulusUtils [https://cumulus.hosiene.co.uk/memberlist.php?mode=viewprofile&amp;amp;u=9016 HansR] on the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44 forum] or through PM.&lt;br /&gt;
&lt;br /&gt;
[[Category:WebTools]][[Category:User Contributions]][[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12355</id>
		<title>CumulusUtils</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12355"/>
		<updated>2026-02-22T19:54:14Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Additional remarks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This is the first page of the CumulusUtils Wiki. From here you should be able to find everything you need to know for this tool.&lt;br /&gt;
&lt;br /&gt;
If needed you can always go to the CumulusUtils Category page (see bottom of this page).&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
This paragraph describes what is required to use CumuluUtils (To be modified/extended by user experience).&lt;br /&gt;
#A working CumulusMX environment on Windows, Linux (RPi) or MacOS&lt;br /&gt;
#On Linux (and probably MacOS too) the user must verify whether [[SysInfo#Introduction|the application &#039;&#039;lshw&#039;&#039; has been installed]].&lt;br /&gt;
#NOTE: no experience by the author on MacOS exists so be prepared to communicate&lt;br /&gt;
#For the &#039;&#039;[[Charts_-_Misc_charts|Miscellaneous Charts]]&#039;&#039; more data - a year starting on jan 1 - is required to make these useful&lt;br /&gt;
#From CMX4 and CMX5 change in the handling of datetime in the logs. Corresponding CUtils versions are available. It is advised to upgrade to the last version of CMX/CUtils as fast as possible because of support.&lt;br /&gt;
#For longer data series it will be useful to run the [[Software#Create_Missing|CMX supporting application &#039;&#039;CreateMissing.exe&#039;&#039;]] beforehand.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
The goal of &#039;&#039;CumulusUtils&#039;&#039; (abbr: &#039;&#039;Cutils&#039;&#039; or &#039;&#039;CUtils&#039;&#039;) is to facilitate website creation for users of CumulusMX without exposure to coding in e.g. PHP or javascript. Having a meteo-website should not be privileged to users with great IT-skills. Making charts should not be demanding for programming skills in SQL or making it otherwise impossible to create charts without diving deep into the technique involved in CumulusMX (which actually is also the case with SQL). Note that this does not  mean you can&#039;t use IT skills: the &#039;&#039;user configurable menu&#039;&#039; offers an opening to expand as far as you wish.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; positions itself as a configurable application for which the understanding of how to run it and how to configure it is the most important thing to know. For configuration &#039;&#039;CumulusUtils&#039;&#039; uses [[Cumulusutils.ini|&#039;&#039;cumulusutils.ini&#039;&#039;]] file which resides in the CumulusMX directory. If that file does not exist, it will be created. The same holds for the CUstringsXX.ini file (containing your translations for CUtils text strings). All other files related to &#039;&#039;CumulusUtils&#039;&#039; reside in the utils directory.&lt;br /&gt;
&lt;br /&gt;
The charts are created using [https://www.highcharts.com/ HighCharts] using their [https://shop.highcharts.com/license-eula &amp;quot;Personal Use&amp;quot; License]. If you want to use the charts or the [[Website Generator]] of &#039;&#039;CumulusUtils&#039;&#039;, please make yourself acquainted with this license.&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
The user is assumed to have basic computer skills and knowledge about the Operating System and directory structure. The user must also be aware of the directory infrastructure of CumulusMX and needs to be aware  of the meaning of the terms &#039;&#039;webroot&#039;&#039; and &#039;&#039;FTProot&#039;&#039; and &#039;&#039;Working Directory&#039;&#039;. The user should be able to understand and edit the ini files (both from &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;CumulusUtils&#039;&#039;). The user should understand the basic functioning of &#039;&#039;CumulusMX&#039;&#039; which means the correct availability of &#039;&#039;CumulusMX&#039;&#039; is a precondition for using &#039;&#039;CumulusUtils&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Some output files can be used with &#039;&#039;Cumulus 1&#039;&#039; but the charting possibilities rely on the availability of the JSON datafiles of &#039;&#039;CumulusMX&#039;&#039;. Therefore the use of &#039;&#039;CumulusUtils&#039;&#039; in combination with &#039;&#039;Cumulus 1&#039;&#039; is limited. The [[Website Generator|website generator]] in combination with &#039;&#039;Cumulus 1&#039;&#039; is not advised.&lt;br /&gt;
&lt;br /&gt;
== Output ==&lt;br /&gt;
The output of &#039;&#039;CumulusUtils&#039;&#039; consists of mainly of text files (extension: .txt) which are generated on demand. In Cutils idiom [[modules|&#039;&#039;modules&#039;&#039;]]. These text files can be incorporated in a website the user has or is making. Ultimately when using the [[Website Generator|website generator]] feature,  &#039;&#039;CumulusUtils&#039;&#039; generates a complete website, uploaded to the user domain and extendable through a [[User Defined Menu|user defined menu]]. When using the [[ChartsCompiler|&#039;&#039;ChartsCompiler&#039;&#039;]], the user can define his own charts and place the output where he wants just like other &#039;&#039;modules&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
All output of CumulusUtils is written [[Encoding_in_CumulusUtils|as UTF8 encoded text  files]].&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;CumulusUtils&#039;&#039; is available in a distribution which can be downloaded from the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44&amp;amp;t=17998 forum]. In the CumulusMX directory the user must create a directory &#039;&#039;utils&#039;&#039; (case dependent) and must copy the files of the distribution (including the subdirectories) to that directory. &lt;br /&gt;
# Rename &#039;&#039;CutilsCharts-default-for-use.def&#039;&#039; to &#039;&#039;CutilsCharts.def&#039;&#039;&lt;br /&gt;
# Then, on the domain for the website, the user needs to make two directories in the webroot: &#039;lib&#039; and &#039;css&#039;.&lt;br /&gt;
# Updating &#039;&#039;CumulusUtils&#039;&#039; is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the  utils directory.&lt;br /&gt;
# The language setting of CumulusUtils is for display/language handling only and does not affect the reading of the data in any way apart for the monthly log file name.&lt;br /&gt;
# From CMX version 4, the logfiles are written as invariant and the above striked through note has become invalid.&lt;br /&gt;
# From CMX version 4.7 (.NET 10; later rename version 5.0) there are changes in the database which require CMX to run before CUtils 8.2.0 can run. &lt;br /&gt;
&lt;br /&gt;
When installed you are ready to run. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
So after installing you have:&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the CumulusMX machine is:&lt;br /&gt;
  utils			(contents in the distribution)&lt;br /&gt;
    |--- bin		(in the distribution (from 4.7.0 and up))&lt;br /&gt;
    |--- utilslog	(Created by CumulusUtils)&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the Website is:&lt;br /&gt;
&lt;br /&gt;
  WebRoot		(Content uploaded by CumulusUtils)&lt;br /&gt;
    |--- lib		(JavaScript libraries, uploaded by CumulusUtils during a run)&lt;br /&gt;
    |--- css		(css files, uploaded by CumulusUtils during a run)&lt;br /&gt;
&lt;br /&gt;
=== Updating CumulusUtils ===&lt;br /&gt;
Updating CumulusUtils is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the utils directory. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
=== Informational files ===&lt;br /&gt;
In the distribution there are some files which are examples or defaults. When used, rename them (and possibly copy manually to the webroot).&lt;br /&gt;
No automatic copying of these files is done by CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
Beside the libraries the distribution contains:&lt;br /&gt;
#CUserAbout-example.txt : as an example of the user about file - when used rename to &#039;&#039;CUserAbout.txt&#039;&#039;&lt;br /&gt;
#CutilsMenu-example-for-use.def : as an example of the menu structure - when used rename to &#039;&#039;CutilsMenu.def&#039;&#039;&lt;br /&gt;
#CutilsCharts-examples.def : not intended for direct use, contains some more elaborate examples of the [[ChartsCompiler]] possibilities&lt;br /&gt;
&lt;br /&gt;
To avoid confusion it is left to the user to edit and maintain the files for use either on the website or on the CumulusMX machine.&lt;br /&gt;
&lt;br /&gt;
When creating website the file &#039;&#039;CutilsHead.def&#039;&#039; may have importance to you. See [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
=== Manually installing without FTP ===&lt;br /&gt;
NOTE: Not using the automatic upload system is disadvised. Because CumulusUtils is datadriven it requires the JSON files and the &#039;&#039;realtime.txt&#039;&#039; and &#039;&#039;realtimegauges.txt&#039;&#039; from CMX. Besides those, if you are using the &#039;&#039;UserAskedData&#039;&#039; feature of CumulusUtils there will be additional JSON files required for the server and without the upload module you will need a way to get them there. There is no copy feature like CMX has as CumulusUtils is designed as a website tool and an upload method is implicitly assumed present. However, manual handling can be done but is not advised.&lt;br /&gt;
&lt;br /&gt;
All required installation and generated files are present in the utils directory and copied with &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; to the server during a run of CumulusUtils.&lt;br /&gt;
If you don&#039;t use &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; you will have to copy manually.&lt;br /&gt;
&lt;br /&gt;
The PHP upload is by far preferred.&lt;br /&gt;
&lt;br /&gt;
=== Files involved ===&lt;br /&gt;
The list of installation files required and their destination is below. The generated Javascript files are included in the table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Distribution File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| index.html || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges.js || &amp;lt;webroot&amp;gt;/lib || Despite the same name this file is very different from the one in CMX&lt;br /&gt;
|-&lt;br /&gt;
| CUlanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsDefaults.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| suncalc.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUtween.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUsteelseries.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.rose.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.common.core.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges-ss.css || &amp;lt;webroot&amp;gt;/css&lt;br /&gt;
|-&lt;br /&gt;
! Generated File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| cumulusutils.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsLanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| *.txt || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsRecentdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsDailydata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataRECENT.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataDAILY.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataALL.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Realtime Files !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| realtime.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| realtimegauges.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| airlinkrealtime.txt || &amp;lt;webroot&amp;gt; || When the AirLink device is configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| customlogsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| meteocamrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|}&lt;br /&gt;
[1] : These files may be served by CMX in another directory (just like the CMX JSON data files). In that case the relative location is specified in the  inifile parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[2] : these files are generated in the utils directory and need to be configured as Extra Webfiles in CMX with the ticks: Realtime, Process and FTP. Note that the generated file has the webtags and remains local, the processed files contains the values and must be send to the &amp;lt;webroot&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Running CumulusUtils ==&lt;br /&gt;
&lt;br /&gt;
CumulusUtils is - up to v6.x.y - a [https://www.mono-project.com/ &#039;&#039;mono&#039;&#039;] executable. This is now deprecated and no longer supported.&lt;br /&gt;
&lt;br /&gt;
From v7.0.0 and up it runs under .NET 8 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this  link when on Linux&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
From v8.2.0 and up it runs under .NET 10 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this link when on Linux&#039;&#039;] (and this has changes to the database which require CMX to run before CUtils can successfully run).&lt;br /&gt;
&lt;br /&gt;
All environments are very different and not interchangeable. However running CumulusUtils is pretty similar on all environments and mono and dotnet (8 and 10) can co-exist on the same machine. See the CMX installation on how to install either mono or dotnet. CumulusUtils assumes the correct installation of either environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; runs on any operating system CumulusMX runs on and it &#039;&#039;&#039;MUST&#039;&#039;&#039; run in the CumulusMX directory (as &#039;&#039;working directory&#039;&#039;).&lt;br /&gt;
Running &#039;&#039;CumulusUtils&#039;&#039; is done from the commandline in a command window (under any OS) or from a script.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; takes one or more commandline parameters (in short: commands) and must be like (see NOTE 1 below; square brackets means &#039;&#039;optional&#039;&#039; so DON&#039;T TYPE THEM):&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;dotnet utils/bin/cumulusutils.dll [command]&#039;&#039;  (the &#039;&#039;.NET&#039;&#039; syntax - &#039;&#039;dotnet&#039;&#039; is obligatory on the commandline for UNIX. Note the &#039;&#039;&#039;dll&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
For UNIX: Note you will have to carry this on in scripts as well. Using the dotnet command in crontab requires using the explicit path to the dotnet command or defining the PATH environment variable in the crontab script which does not know the environment (a bit awkward).&lt;br /&gt;
&lt;br /&gt;
If no commands are given the application responds with:&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;CumulusUtils : No Arguments nothing to do. Exiting. See Manual.&lt;br /&gt;
                CumulusUtils Usage : utils/bin/cumulusutils.exe [args] (args case independent):&lt;br /&gt;
                  utils/bin/cumulusutils.exe&lt;br /&gt;
                      [ [[SysInfo]] ] [ [[Forecast]] ] [ [[StationMap]] ] [ [[UserReports]] ] [ [[MeteoCam]] ]&lt;br /&gt;
                      [ [[pwsFWI]] ][ [[Records - Top10|Top10]] ][ [[Graphs]] ][ [[Yadr]] ][ [[Records]] ]&lt;br /&gt;
                      [ [[NOAA]] ][ [[Records - DayRecords|DayRecords]] ][ [[AirLink]] ][ [[UserAskedData]] ]&lt;br /&gt;
                      [ [[ChartsCompiler|CompileOnly]] ] [ [[Extra Sensors|ExtraSensors]] ] [ [[Custom Logs|CustomLogs]] ] &lt;br /&gt;
                      [ [[Diary|Diary ]] ] [[CumulusUtils Runtime Library|CUlib]] ]&lt;br /&gt;
                      | [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] &lt;br /&gt;
&lt;br /&gt;
                OR (in case you use the website generator):&lt;br /&gt;
                   utils/bin/cumulusutils.exe [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
All &#039;&#039;modules&#039;&#039; mentioned in the  command will be described in their own pages here on the wiki and when available will be linked from here.&lt;br /&gt;
&lt;br /&gt;
The commands represent the &#039;&#039;modules&#039;&#039; the user is asking for to be generated. The output is generated to the utils directory in the &#039;&#039;CumulusMX&#039;&#039; directory. When asking for the generation of the website, the user not only gets all &#039;&#039;modules&#039;&#039; available but also an &#039;&#039;index.html&#039;&#039; file accompanied with some javascript infrastructure. Everything together then is the website which, when copied to the webroot, is ready for use.&lt;br /&gt;
&lt;br /&gt;
Commands to CumulusUtils - the module names - are case independent but the author prefers [https://en.wikipedia.org/wiki/Camel_case Upper Camel Case] (or Pascal Case).&lt;br /&gt;
&lt;br /&gt;
Copying to the webroot can also be done automatically through the FTP account of the user, much like &#039;&#039;CumulusMX&#039;&#039; itself copies e.g. the realtime.txt or the datafiles to the webroot. The FTP account and domain used are the same as present in the [[Cumulus.ini]] configuration. The PHP upload as exists in CMX can also be used with CUtils and it works exactly the same.&lt;br /&gt;
&lt;br /&gt;
=== Considerations with CMX configuration ===&lt;br /&gt;
Please note that CumulusUtils requires live data from CumulusMX to display what you expect. To accomplish that you need to configure CMX as follows:&lt;br /&gt;
&lt;br /&gt;
The things it is looking for are realtime.txt and realtimegauges.txt. Those are sent by CMX to the directory you configure in &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Web/Upload Site&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Normal Interval Settings&#039;&#039;: Tick both options and set the interval time to enable interval Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Standard File settings&#039;&#039;: Disable both options (for CumulusUtils, if you have websites which use those, leave it enabled)&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Graph File Settings&#039;&#039;: Enable all (only &#039;&#039;Upload&#039;&#039;, use &#039;&#039;Create Local&#039;&#039; only when needed) except the following:&lt;br /&gt;
   &#039;&#039;availabledata.json&#039;&#039;, &#039;&#039;dailyrain.json&#039;&#039;, &#039;&#039;dailytemp.json&#039;&#039;, &#039;&#039;sunhours.json&#039;&#039;, &#039;&#039;airquality.json&#039;&#039;, &#039;&#039;extra*.json&#039;&#039;, &#039;&#039;soil*.json&#039;&#039;, &#039;&#039;user*.json&#039;&#039;,&#039;&#039;co2*.json&#039;&#039; and &#039;&#039;leaf*.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Daily Graph File Settings&#039;&#039;: Enable all except &#039;&#039;alldailydegdaydata.json&#039;&#039;, &#039;&#039;alltempsumdata.json&#039;&#039; and &#039;&#039;allchillhrsdata.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both and set interval time to enable realtime Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both &#039;&#039;realtime.txt&#039;&#039; and &#039;&#039;realtimegauges.txt&#039;&#039; for Upload, use &#039;&#039;Create Local&#039;&#039; only when needed.&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Web/Upload Site=&amp;gt;General Settings&#039;&#039;: Tick &#039;&#039;UTF-8 encoding&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For the &#039;&#039;[[ChartsCompiler]]&#039;&#039; (you may be more selective later when understanding what and how):&lt;br /&gt;
&lt;br /&gt;
After selecting the required tables you need to select the variables they may contain:&lt;br /&gt;
&lt;br /&gt;
 In Settings=&amp;gt;Station Settings=&amp;gt;Graphs=&amp;gt;Data Series Visibility: Tick all&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: You may disable some fields later when you are more acquainted with the system. Disabling tables and field can be especially useful when you are worried about size of transfer and provider limits.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the &#039;&#039;[[ChartsCompiler]]&#039;&#039;, you may need the &#039;&#039;[[UserAskedData]]&#039;&#039; command to CumulusUtils. See the [[ChartsCompiler]].&lt;br /&gt;
&lt;br /&gt;
You may want to read about and understand the [[Website_Generator#CumulusRealTimeLocation|&#039;&#039;CumulusRealTimeLocation&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
=== When and why to run ===&lt;br /&gt;
Running CumulusUtils results in output which represents a static view of the data in a table or graphic format for display on your website (it may even create a complete website). The fact that the output is a static view requires the output to be regenerated when new data is available. Rerunning CumulusUtils is also required when you change anything in the configuration and can&#039;t wait to see that change reflected on the site. In general: changes in data and configuration require a rerun.&lt;br /&gt;
&lt;br /&gt;
Reruns for changes of data are typically once per day, just after rollover time. In that sense it is like running a new query.&lt;br /&gt;
&lt;br /&gt;
There are some exceptions to the daily rule: Sysinfo and [[UserAskedData]]&lt;br /&gt;
#Sysinfo: a rerun with Sysinfo is required when you wish to update the system information which can be a requirement from every 10 minutes to once per day&lt;br /&gt;
#[[UserAskedData]]: provides data for charts which are otherwise not available. Again this is at a user desired frequency which is recommended to be the FTP frequency defined in Cumulus.ini (parameter &#039;&#039;UpdateInterval&#039;&#039; in section [FTP site])&lt;br /&gt;
&lt;br /&gt;
==== RPi: Using crontab ====&lt;br /&gt;
Automating the run of CumulusUtils on the Raspberry Pi is typically done through [https://man7.org/linux/man-pages/man5/crontab.5.html &#039;&#039;crontab&#039;&#039;]. Below is the crontab of the author of CumulusUtils to be used as an &#039;&#039;&#039;example&#039;&#039;&#039;! &lt;br /&gt;
&lt;br /&gt;
===== For dotnet =====&lt;br /&gt;
  05 1 * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll thrifty website&lt;br /&gt;
  1-51/10 * * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll sysinfo UserAskedData UserReports&lt;br /&gt;
&lt;br /&gt;
==== Windows: Using the scheduler ====&lt;br /&gt;
===== How to create a scheduled task =====&lt;br /&gt;
Prior to doing this we need to also create the script that the task will use.&lt;br /&gt;
Open notepad or your favourite text editor (preferred use: Notepad++).&lt;br /&gt;
&lt;br /&gt;
You can copy paste the below and save as cumulusutils.bat&lt;br /&gt;
(It can be a filename of choice but must have extension of .bat, if using windows notepad, underneath the File name: option, will need to set Save as type: option to All Files (*.*). This way when the File name: is set as cumulusutils.bat it will save it as that and not cumulusutils.bat.txt)&lt;br /&gt;
====== Batch file code of cumulusutils.bat ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v6 and below (running under mono):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd\&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;/br&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;/br&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX C:\CumulusMX\utils\bin\cumulusutils.exe Website&amp;lt;/br&amp;gt;&lt;br /&gt;
 :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   exit&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: The command shown here is &#039;&#039;Website&#039;&#039;. The user can put any command he likes in here (with or without &#039;&#039;Thrifty&#039;&#039;) depending on what he wants to achieve. Possibly he has to create multiple tasks (e.g. UserAskedData specifically runs on a higher frequency than website). These commands then require their own batch files.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v7 and up (running under dotnet):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd\&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;br/&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;br/&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX dotnet C:\CumulusMX\utils\bin\cumulusutils.dll Website&amp;lt;br/&amp;gt;&lt;br /&gt;
 :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   exit&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Task creation process =====&lt;br /&gt;
Within the Task Scheduler Library&lt;br /&gt;
#Create “New Task…” (actions pane), or right click middle pane and choose “Create New Task” (not Create Basic Task).&lt;br /&gt;
##On the General tab of the new task (General information about the task).&lt;br /&gt;
##Set desired name for the Task (Example name CumulusUtils, can also set description if desired).&lt;br /&gt;
##Click “Change User or Group…”.&lt;br /&gt;
##Type in here the word system (click on “Check Names” if desired, to confirm it is correct and it should then display as SYSTEM in capitals).&lt;br /&gt;
##Click OK to use this user account.&lt;br /&gt;
##Note in Security options part of the new task creation process it should now state under. When running the task, use the following user account: NT AUTHORITY\SYSTEM &amp;lt;br/&amp;gt;(Convenient reason for this is that when the task runs, it runs is running as system account and so is not seen popping up on screen when it is running.)&lt;br /&gt;
##“Configure for:” not required to be changed, can be changed to version of operating system.&lt;br /&gt;
#On the Triggers tab of the new task (Setting when and how often the task runs).&lt;br /&gt;
##Click on “New”, to create a new launch time and frequency of the task.&lt;br /&gt;
##Begin the task: option should default to “On a schedule”, this is the desired option.&lt;br /&gt;
##Under the settings section choose “Daily” option.&lt;br /&gt;
##Start: date can be left as is, set the desired start time of the task. Set to “12:00:15 am”.&amp;lt;/br&amp;gt;(Reason for this setting with 15 second delay is trying not to compete with CumulusMX upload tasks).&lt;br /&gt;
##In the advanced part, enable Repeat task every: and choose desired interval.&amp;lt;/br&amp;gt;With the option for a duration of: default setting of “1 day” is used.&lt;br /&gt;
##Set Stop task if it runs longer than: to “30 minutes” (if the task runs longer than the time set, it is stopped. This applies to the individually triggered task, and not the overall routine of this scheduled task, with it’s repeating trigger times).&lt;br /&gt;
##Confirm that the Enabled options is ticked to make active this trigger routine.&lt;br /&gt;
#On the Actions tab (Setting what the task is to do).&lt;br /&gt;
##Click on “New…” to create a new action.&lt;br /&gt;
##Action: should default to “Start a program” this is correct.&lt;br /&gt;
##In the Program/Script: part, type the path to the program to run, or click “Browse” to navigate and select the program to run. (example C:\CumulusMX\batch_files\cumulusutils.bat).&lt;br /&gt;
#On the Conditions tab (setting other conditions).&lt;br /&gt;
##Under Power, untick Start the task only if the computer us on AC power&amp;lt;/br&amp;gt;(This then enables the task to start and run even if on battery. It will automatically untick Stop if the computers switches to batter power.)&lt;br /&gt;
#On the Settings tab (additional other settings for the task).&lt;br /&gt;
##Confirm ticked for Allow task to be run on demand.&lt;br /&gt;
##By default Stop the task if it runs longer than: is already ticket and set as 3 days.Change to 1 hour (the behaviour here is the same as instruction 3.f.)&lt;br /&gt;
##Confirm ticked for If the running ask does not end when requested, for it to stop.&lt;br /&gt;
##Default setting of “Do not start a new instance” Is OK.&lt;br /&gt;
#Click on OK down the bottom to complete and commit the creation of this new task.&lt;br /&gt;
&lt;br /&gt;
===== Customisation =====&lt;br /&gt;
One can also customise/fine tune the task further by exporting it, default export format is XML. Then can edit in favourite text editor and reimport when done. May be useful in particular for fine tuning the repetition times of the task.&lt;br /&gt;
&lt;br /&gt;
== Additional remarks ==&lt;br /&gt;
&lt;br /&gt;
#CumulusUtils is written in C#, HTML and javascript. All HTML and javascript is embedded in the C# code and generated on execution of &#039;&#039;CumulusUtils&#039;&#039;. The cumuluscharts.txt charts library was based on the cumuluscharts.js originally distributed with &#039;&#039;CumulusMX&#039;&#039;, probably the version a bit before April 2020 and has been modified since. With the appearance of the [[ChartsCompiler]] the name cumuluscharts.txt has been preserved but the technique of creating the charts has been changed.&lt;br /&gt;
#As CumulusUtils itself runs in the Cumulus directory, the data directory (data) is one level below. CumulusUtils currently uses - a copy of - dayfile.txt, the monthly logfiles and incidentally the alltime.ini file. It also takes information from Cumulus.ini.  All output is written to the utils/ subdirectory. All logs are created in the utils/utilslog/ subdirectory. It also uses the AirLink.log and the ExtraLog files in a similar way when the user has such devices.&lt;br /&gt;
#The output of CumulusUtils consists of UTF8 encoded text files. They can be brought to your website manually through some ftp tool (e.g. WinSCP) or by using the Extra Web Files functionality in the setting of Cumulus (deprecated) or by using the [[FTP facility]]. &lt;br /&gt;
#CumulusUtils can output for many languages. See the specific page on [[Language in CumulusUtils|language in CumulusUtils]].&lt;br /&gt;
#Development of CumulusUtils started in 9&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; of August 2019 with an initial commit of the Top10 written in C. Development changed rapidly to C# with an initial commit of Top10 on November 19 2019 of version  0.7.0. The rest  of the history can be read in the [[Release Notes|release notes]].&lt;br /&gt;
#Please, present yourselves on the CumulusUtils [[Map - Users of CumulusUtils|usermap]]. For website users it is automatic and obligatory but the URL needs to be filled in by yourself in the inifile. When not a complete website, please fill in the URL to the page you use CUtils for (e.g. pwsFWI).&lt;br /&gt;
#In case of problems there exists [[Errorlogging]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: comments to this series of articles is welcome. Direct edit of the article (request an account) is switched off. Contacting the author of CumulusUtils [https://cumulus.hosiene.co.uk/memberlist.php?mode=viewprofile&amp;amp;u=9016 HansR] on the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44 forum] or through PM.&lt;br /&gt;
&lt;br /&gt;
[[Category:WebTools]][[Category:User Contributions]][[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12354</id>
		<title>CumulusUtils</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12354"/>
		<updated>2026-02-22T19:47:37Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Running CumulusUtils */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This is the first page of the CumulusUtils Wiki. From here you should be able to find everything you need to know for this tool.&lt;br /&gt;
&lt;br /&gt;
If needed you can always go to the CumulusUtils Category page (see bottom of this page).&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
This paragraph describes what is required to use CumuluUtils (To be modified/extended by user experience).&lt;br /&gt;
#A working CumulusMX environment on Windows, Linux (RPi) or MacOS&lt;br /&gt;
#On Linux (and probably MacOS too) the user must verify whether [[SysInfo#Introduction|the application &#039;&#039;lshw&#039;&#039; has been installed]].&lt;br /&gt;
#NOTE: no experience by the author on MacOS exists so be prepared to communicate&lt;br /&gt;
#For the &#039;&#039;[[Charts_-_Misc_charts|Miscellaneous Charts]]&#039;&#039; more data - a year starting on jan 1 - is required to make these useful&lt;br /&gt;
#From CMX4 and CMX5 change in the handling of datetime in the logs. Corresponding CUtils versions are available. It is advised to upgrade to the last version of CMX/CUtils as fast as possible because of support.&lt;br /&gt;
#For longer data series it will be useful to run the [[Software#Create_Missing|CMX supporting application &#039;&#039;CreateMissing.exe&#039;&#039;]] beforehand.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
The goal of &#039;&#039;CumulusUtils&#039;&#039; (abbr: &#039;&#039;Cutils&#039;&#039; or &#039;&#039;CUtils&#039;&#039;) is to facilitate website creation for users of CumulusMX without exposure to coding in e.g. PHP or javascript. Having a meteo-website should not be privileged to users with great IT-skills. Making charts should not be demanding for programming skills in SQL or making it otherwise impossible to create charts without diving deep into the technique involved in CumulusMX (which actually is also the case with SQL). Note that this does not  mean you can&#039;t use IT skills: the &#039;&#039;user configurable menu&#039;&#039; offers an opening to expand as far as you wish.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; positions itself as a configurable application for which the understanding of how to run it and how to configure it is the most important thing to know. For configuration &#039;&#039;CumulusUtils&#039;&#039; uses [[Cumulusutils.ini|&#039;&#039;cumulusutils.ini&#039;&#039;]] file which resides in the CumulusMX directory. If that file does not exist, it will be created. The same holds for the CUstringsXX.ini file (containing your translations for CUtils text strings). All other files related to &#039;&#039;CumulusUtils&#039;&#039; reside in the utils directory.&lt;br /&gt;
&lt;br /&gt;
The charts are created using [https://www.highcharts.com/ HighCharts] using their [https://shop.highcharts.com/license-eula &amp;quot;Personal Use&amp;quot; License]. If you want to use the charts or the [[Website Generator]] of &#039;&#039;CumulusUtils&#039;&#039;, please make yourself acquainted with this license.&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
The user is assumed to have basic computer skills and knowledge about the Operating System and directory structure. The user must also be aware of the directory infrastructure of CumulusMX and needs to be aware  of the meaning of the terms &#039;&#039;webroot&#039;&#039; and &#039;&#039;FTProot&#039;&#039; and &#039;&#039;Working Directory&#039;&#039;. The user should be able to understand and edit the ini files (both from &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;CumulusUtils&#039;&#039;). The user should understand the basic functioning of &#039;&#039;CumulusMX&#039;&#039; which means the correct availability of &#039;&#039;CumulusMX&#039;&#039; is a precondition for using &#039;&#039;CumulusUtils&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Some output files can be used with &#039;&#039;Cumulus 1&#039;&#039; but the charting possibilities rely on the availability of the JSON datafiles of &#039;&#039;CumulusMX&#039;&#039;. Therefore the use of &#039;&#039;CumulusUtils&#039;&#039; in combination with &#039;&#039;Cumulus 1&#039;&#039; is limited. The [[Website Generator|website generator]] in combination with &#039;&#039;Cumulus 1&#039;&#039; is not advised.&lt;br /&gt;
&lt;br /&gt;
== Output ==&lt;br /&gt;
The output of &#039;&#039;CumulusUtils&#039;&#039; consists of mainly of text files (extension: .txt) which are generated on demand. In Cutils idiom [[modules|&#039;&#039;modules&#039;&#039;]]. These text files can be incorporated in a website the user has or is making. Ultimately when using the [[Website Generator|website generator]] feature,  &#039;&#039;CumulusUtils&#039;&#039; generates a complete website, uploaded to the user domain and extendable through a [[User Defined Menu|user defined menu]]. When using the [[ChartsCompiler|&#039;&#039;ChartsCompiler&#039;&#039;]], the user can define his own charts and place the output where he wants just like other &#039;&#039;modules&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
All output of CumulusUtils is written [[Encoding_in_CumulusUtils|as UTF8 encoded text  files]].&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;CumulusUtils&#039;&#039; is available in a distribution which can be downloaded from the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44&amp;amp;t=17998 forum]. In the CumulusMX directory the user must create a directory &#039;&#039;utils&#039;&#039; (case dependent) and must copy the files of the distribution (including the subdirectories) to that directory. &lt;br /&gt;
# Rename &#039;&#039;CutilsCharts-default-for-use.def&#039;&#039; to &#039;&#039;CutilsCharts.def&#039;&#039;&lt;br /&gt;
# Then, on the domain for the website, the user needs to make two directories in the webroot: &#039;lib&#039; and &#039;css&#039;.&lt;br /&gt;
# Updating &#039;&#039;CumulusUtils&#039;&#039; is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the  utils directory.&lt;br /&gt;
# The language setting of CumulusUtils is for display/language handling only and does not affect the reading of the data in any way apart for the monthly log file name.&lt;br /&gt;
# From CMX version 4, the logfiles are written as invariant and the above striked through note has become invalid.&lt;br /&gt;
# From CMX version 4.7 (.NET 10; later rename version 5.0) there are changes in the database which require CMX to run before CUtils 8.2.0 can run. &lt;br /&gt;
&lt;br /&gt;
When installed you are ready to run. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
So after installing you have:&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the CumulusMX machine is:&lt;br /&gt;
  utils			(contents in the distribution)&lt;br /&gt;
    |--- bin		(in the distribution (from 4.7.0 and up))&lt;br /&gt;
    |--- utilslog	(Created by CumulusUtils)&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the Website is:&lt;br /&gt;
&lt;br /&gt;
  WebRoot		(Content uploaded by CumulusUtils)&lt;br /&gt;
    |--- lib		(JavaScript libraries, uploaded by CumulusUtils during a run)&lt;br /&gt;
    |--- css		(css files, uploaded by CumulusUtils during a run)&lt;br /&gt;
&lt;br /&gt;
=== Updating CumulusUtils ===&lt;br /&gt;
Updating CumulusUtils is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the utils directory. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
=== Informational files ===&lt;br /&gt;
In the distribution there are some files which are examples or defaults. When used, rename them (and possibly copy manually to the webroot).&lt;br /&gt;
No automatic copying of these files is done by CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
Beside the libraries the distribution contains:&lt;br /&gt;
#CUserAbout-example.txt : as an example of the user about file - when used rename to &#039;&#039;CUserAbout.txt&#039;&#039;&lt;br /&gt;
#CutilsMenu-example-for-use.def : as an example of the menu structure - when used rename to &#039;&#039;CutilsMenu.def&#039;&#039;&lt;br /&gt;
#CutilsCharts-examples.def : not intended for direct use, contains some more elaborate examples of the [[ChartsCompiler]] possibilities&lt;br /&gt;
&lt;br /&gt;
To avoid confusion it is left to the user to edit and maintain the files for use either on the website or on the CumulusMX machine.&lt;br /&gt;
&lt;br /&gt;
When creating website the file &#039;&#039;CutilsHead.def&#039;&#039; may have importance to you. See [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
=== Manually installing without FTP ===&lt;br /&gt;
NOTE: Not using the automatic upload system is disadvised. Because CumulusUtils is datadriven it requires the JSON files and the &#039;&#039;realtime.txt&#039;&#039; and &#039;&#039;realtimegauges.txt&#039;&#039; from CMX. Besides those, if you are using the &#039;&#039;UserAskedData&#039;&#039; feature of CumulusUtils there will be additional JSON files required for the server and without the upload module you will need a way to get them there. There is no copy feature like CMX has as CumulusUtils is designed as a website tool and an upload method is implicitly assumed present. However, manual handling can be done but is not advised.&lt;br /&gt;
&lt;br /&gt;
All required installation and generated files are present in the utils directory and copied with &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; to the server during a run of CumulusUtils.&lt;br /&gt;
If you don&#039;t use &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; you will have to copy manually.&lt;br /&gt;
&lt;br /&gt;
The PHP upload is by far preferred.&lt;br /&gt;
&lt;br /&gt;
=== Files involved ===&lt;br /&gt;
The list of installation files required and their destination is below. The generated Javascript files are included in the table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Distribution File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| index.html || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges.js || &amp;lt;webroot&amp;gt;/lib || Despite the same name this file is very different from the one in CMX&lt;br /&gt;
|-&lt;br /&gt;
| CUlanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsDefaults.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| suncalc.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUtween.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUsteelseries.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.rose.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.common.core.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges-ss.css || &amp;lt;webroot&amp;gt;/css&lt;br /&gt;
|-&lt;br /&gt;
! Generated File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| cumulusutils.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsLanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| *.txt || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsRecentdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsDailydata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataRECENT.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataDAILY.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataALL.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Realtime Files !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| realtime.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| realtimegauges.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| airlinkrealtime.txt || &amp;lt;webroot&amp;gt; || When the AirLink device is configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| customlogsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| meteocamrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|}&lt;br /&gt;
[1] : These files may be served by CMX in another directory (just like the CMX JSON data files). In that case the relative location is specified in the  inifile parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[2] : these files are generated in the utils directory and need to be configured as Extra Webfiles in CMX with the ticks: Realtime, Process and FTP. Note that the generated file has the webtags and remains local, the processed files contains the values and must be send to the &amp;lt;webroot&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Running CumulusUtils ==&lt;br /&gt;
&lt;br /&gt;
CumulusUtils is - up to v6.x.y - a [https://www.mono-project.com/ &#039;&#039;mono&#039;&#039;] executable. This is now deprecated and no longer supported.&lt;br /&gt;
&lt;br /&gt;
From v7.0.0 and up it runs under .NET 8 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this  link when on Linux&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
From v8.2.0 and up it runs under .NET 10 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this link when on Linux&#039;&#039;] (and this has changes to the database which require CMX to run before CUtils can successfully run).&lt;br /&gt;
&lt;br /&gt;
All environments are very different and not interchangeable. However running CumulusUtils is pretty similar on all environments and mono and dotnet (8 and 10) can co-exist on the same machine. See the CMX installation on how to install either mono or dotnet. CumulusUtils assumes the correct installation of either environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; runs on any operating system CumulusMX runs on and it &#039;&#039;&#039;MUST&#039;&#039;&#039; run in the CumulusMX directory (as &#039;&#039;working directory&#039;&#039;).&lt;br /&gt;
Running &#039;&#039;CumulusUtils&#039;&#039; is done from the commandline in a command window (under any OS) or from a script.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; takes one or more commandline parameters (in short: commands) and must be like (see NOTE 1 below; square brackets means &#039;&#039;optional&#039;&#039; so DON&#039;T TYPE THEM):&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;dotnet utils/bin/cumulusutils.dll [command]&#039;&#039;  (the &#039;&#039;.NET&#039;&#039; syntax - &#039;&#039;dotnet&#039;&#039; is obligatory on the commandline for UNIX. Note the &#039;&#039;&#039;dll&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
For UNIX: Note you will have to carry this on in scripts as well. Using the dotnet command in crontab requires using the explicit path to the dotnet command or defining the PATH environment variable in the crontab script which does not know the environment (a bit awkward).&lt;br /&gt;
&lt;br /&gt;
If no commands are given the application responds with:&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;CumulusUtils : No Arguments nothing to do. Exiting. See Manual.&lt;br /&gt;
                CumulusUtils Usage : utils/bin/cumulusutils.exe [args] (args case independent):&lt;br /&gt;
                  utils/bin/cumulusutils.exe&lt;br /&gt;
                      [ [[SysInfo]] ] [ [[Forecast]] ] [ [[StationMap]] ] [ [[UserReports]] ] [ [[MeteoCam]] ]&lt;br /&gt;
                      [ [[pwsFWI]] ][ [[Records - Top10|Top10]] ][ [[Graphs]] ][ [[Yadr]] ][ [[Records]] ]&lt;br /&gt;
                      [ [[NOAA]] ][ [[Records - DayRecords|DayRecords]] ][ [[AirLink]] ][ [[UserAskedData]] ]&lt;br /&gt;
                      [ [[ChartsCompiler|CompileOnly]] ] [ [[Extra Sensors|ExtraSensors]] ] [ [[Custom Logs|CustomLogs]] ] &lt;br /&gt;
                      [ [[Diary|Diary ]] ] [[CumulusUtils Runtime Library|CUlib]] ]&lt;br /&gt;
                      | [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] &lt;br /&gt;
&lt;br /&gt;
                OR (in case you use the website generator):&lt;br /&gt;
                   utils/bin/cumulusutils.exe [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
All &#039;&#039;modules&#039;&#039; mentioned in the  command will be described in their own pages here on the wiki and when available will be linked from here.&lt;br /&gt;
&lt;br /&gt;
The commands represent the &#039;&#039;modules&#039;&#039; the user is asking for to be generated. The output is generated to the utils directory in the &#039;&#039;CumulusMX&#039;&#039; directory. When asking for the generation of the website, the user not only gets all &#039;&#039;modules&#039;&#039; available but also an &#039;&#039;index.html&#039;&#039; file accompanied with some javascript infrastructure. Everything together then is the website which, when copied to the webroot, is ready for use.&lt;br /&gt;
&lt;br /&gt;
Commands to CumulusUtils - the module names - are case independent but the author prefers [https://en.wikipedia.org/wiki/Camel_case Upper Camel Case] (or Pascal Case).&lt;br /&gt;
&lt;br /&gt;
Copying to the webroot can also be done automatically through the FTP account of the user, much like &#039;&#039;CumulusMX&#039;&#039; itself copies e.g. the realtime.txt or the datafiles to the webroot. The FTP account and domain used are the same as present in the [[Cumulus.ini]] configuration. The PHP upload as exists in CMX can also be used with CUtils and it works exactly the same.&lt;br /&gt;
&lt;br /&gt;
=== Considerations with CMX configuration ===&lt;br /&gt;
Please note that CumulusUtils requires live data from CumulusMX to display what you expect. To accomplish that you need to configure CMX as follows:&lt;br /&gt;
&lt;br /&gt;
The things it is looking for are realtime.txt and realtimegauges.txt. Those are sent by CMX to the directory you configure in &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Web/Upload Site&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Normal Interval Settings&#039;&#039;: Tick both options and set the interval time to enable interval Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Standard File settings&#039;&#039;: Disable both options (for CumulusUtils, if you have websites which use those, leave it enabled)&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Graph File Settings&#039;&#039;: Enable all (only &#039;&#039;Upload&#039;&#039;, use &#039;&#039;Create Local&#039;&#039; only when needed) except the following:&lt;br /&gt;
   &#039;&#039;availabledata.json&#039;&#039;, &#039;&#039;dailyrain.json&#039;&#039;, &#039;&#039;dailytemp.json&#039;&#039;, &#039;&#039;sunhours.json&#039;&#039;, &#039;&#039;airquality.json&#039;&#039;, &#039;&#039;extra*.json&#039;&#039;, &#039;&#039;soil*.json&#039;&#039;, &#039;&#039;user*.json&#039;&#039;,&#039;&#039;co2*.json&#039;&#039; and &#039;&#039;leaf*.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Daily Graph File Settings&#039;&#039;: Enable all except &#039;&#039;alldailydegdaydata.json&#039;&#039;, &#039;&#039;alltempsumdata.json&#039;&#039; and &#039;&#039;allchillhrsdata.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both and set interval time to enable realtime Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both &#039;&#039;realtime.txt&#039;&#039; and &#039;&#039;realtimegauges.txt&#039;&#039; for Upload, use &#039;&#039;Create Local&#039;&#039; only when needed.&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Web/Upload Site=&amp;gt;General Settings&#039;&#039;: Tick &#039;&#039;UTF-8 encoding&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For the &#039;&#039;[[ChartsCompiler]]&#039;&#039; (you may be more selective later when understanding what and how):&lt;br /&gt;
&lt;br /&gt;
After selecting the required tables you need to select the variables they may contain:&lt;br /&gt;
&lt;br /&gt;
 In Settings=&amp;gt;Station Settings=&amp;gt;Graphs=&amp;gt;Data Series Visibility: Tick all&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: You may disable some fields later when you are more acquainted with the system. Disabling tables and field can be especially useful when you are worried about size of transfer and provider limits.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the &#039;&#039;[[ChartsCompiler]]&#039;&#039;, you may need the &#039;&#039;[[UserAskedData]]&#039;&#039; command to CumulusUtils. See the [[ChartsCompiler]].&lt;br /&gt;
&lt;br /&gt;
You may want to read about and understand the [[Website_Generator#CumulusRealTimeLocation|&#039;&#039;CumulusRealTimeLocation&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
=== When and why to run ===&lt;br /&gt;
Running CumulusUtils results in output which represents a static view of the data in a table or graphic format for display on your website (it may even create a complete website). The fact that the output is a static view requires the output to be regenerated when new data is available. Rerunning CumulusUtils is also required when you change anything in the configuration and can&#039;t wait to see that change reflected on the site. In general: changes in data and configuration require a rerun.&lt;br /&gt;
&lt;br /&gt;
Reruns for changes of data are typically once per day, just after rollover time. In that sense it is like running a new query.&lt;br /&gt;
&lt;br /&gt;
There are some exceptions to the daily rule: Sysinfo and [[UserAskedData]]&lt;br /&gt;
#Sysinfo: a rerun with Sysinfo is required when you wish to update the system information which can be a requirement from every 10 minutes to once per day&lt;br /&gt;
#[[UserAskedData]]: provides data for charts which are otherwise not available. Again this is at a user desired frequency which is recommended to be the FTP frequency defined in Cumulus.ini (parameter &#039;&#039;UpdateInterval&#039;&#039; in section [FTP site])&lt;br /&gt;
&lt;br /&gt;
==== RPi: Using crontab ====&lt;br /&gt;
Automating the run of CumulusUtils on the Raspberry Pi is typically done through [https://man7.org/linux/man-pages/man5/crontab.5.html &#039;&#039;crontab&#039;&#039;]. Below is the crontab of the author of CumulusUtils to be used as an &#039;&#039;&#039;example&#039;&#039;&#039;! &lt;br /&gt;
&lt;br /&gt;
===== For dotnet =====&lt;br /&gt;
  05 1 * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll thrifty website&lt;br /&gt;
  1-51/10 * * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll sysinfo UserAskedData UserReports&lt;br /&gt;
&lt;br /&gt;
==== Windows: Using the scheduler ====&lt;br /&gt;
===== How to create a scheduled task =====&lt;br /&gt;
Prior to doing this we need to also create the script that the task will use.&lt;br /&gt;
Open notepad or your favourite text editor (preferred use: Notepad++).&lt;br /&gt;
&lt;br /&gt;
You can copy paste the below and save as cumulusutils.bat&lt;br /&gt;
(It can be a filename of choice but must have extension of .bat, if using windows notepad, underneath the File name: option, will need to set Save as type: option to All Files (*.*). This way when the File name: is set as cumulusutils.bat it will save it as that and not cumulusutils.bat.txt)&lt;br /&gt;
====== Batch file code of cumulusutils.bat ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v6 and below (running under mono):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd\&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;/br&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;/br&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX C:\CumulusMX\utils\bin\cumulusutils.exe Website&amp;lt;/br&amp;gt;&lt;br /&gt;
 :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   exit&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: The command shown here is &#039;&#039;Website&#039;&#039;. The user can put any command he likes in here (with or without &#039;&#039;Thrifty&#039;&#039;) depending on what he wants to achieve. Possibly he has to create multiple tasks (e.g. UserAskedData specifically runs on a higher frequency than website). These commands then require their own batch files.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v7 and up (running under dotnet):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd\&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;br/&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;br/&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX dotnet C:\CumulusMX\utils\bin\cumulusutils.dll Website&amp;lt;br/&amp;gt;&lt;br /&gt;
 :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   exit&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Task creation process =====&lt;br /&gt;
Within the Task Scheduler Library&lt;br /&gt;
#Create “New Task…” (actions pane), or right click middle pane and choose “Create New Task” (not Create Basic Task).&lt;br /&gt;
##On the General tab of the new task (General information about the task).&lt;br /&gt;
##Set desired name for the Task (Example name CumulusUtils, can also set description if desired).&lt;br /&gt;
##Click “Change User or Group…”.&lt;br /&gt;
##Type in here the word system (click on “Check Names” if desired, to confirm it is correct and it should then display as SYSTEM in capitals).&lt;br /&gt;
##Click OK to use this user account.&lt;br /&gt;
##Note in Security options part of the new task creation process it should now state under. When running the task, use the following user account: NT AUTHORITY\SYSTEM &amp;lt;br/&amp;gt;(Convenient reason for this is that when the task runs, it runs is running as system account and so is not seen popping up on screen when it is running.)&lt;br /&gt;
##“Configure for:” not required to be changed, can be changed to version of operating system.&lt;br /&gt;
#On the Triggers tab of the new task (Setting when and how often the task runs).&lt;br /&gt;
##Click on “New”, to create a new launch time and frequency of the task.&lt;br /&gt;
##Begin the task: option should default to “On a schedule”, this is the desired option.&lt;br /&gt;
##Under the settings section choose “Daily” option.&lt;br /&gt;
##Start: date can be left as is, set the desired start time of the task. Set to “12:00:15 am”.&amp;lt;/br&amp;gt;(Reason for this setting with 15 second delay is trying not to compete with CumulusMX upload tasks).&lt;br /&gt;
##In the advanced part, enable Repeat task every: and choose desired interval.&amp;lt;/br&amp;gt;With the option for a duration of: default setting of “1 day” is used.&lt;br /&gt;
##Set Stop task if it runs longer than: to “30 minutes” (if the task runs longer than the time set, it is stopped. This applies to the individually triggered task, and not the overall routine of this scheduled task, with it’s repeating trigger times).&lt;br /&gt;
##Confirm that the Enabled options is ticked to make active this trigger routine.&lt;br /&gt;
#On the Actions tab (Setting what the task is to do).&lt;br /&gt;
##Click on “New…” to create a new action.&lt;br /&gt;
##Action: should default to “Start a program” this is correct.&lt;br /&gt;
##In the Program/Script: part, type the path to the program to run, or click “Browse” to navigate and select the program to run. (example C:\CumulusMX\batch_files\cumulusutils.bat).&lt;br /&gt;
#On the Conditions tab (setting other conditions).&lt;br /&gt;
##Under Power, untick Start the task only if the computer us on AC power&amp;lt;/br&amp;gt;(This then enables the task to start and run even if on battery. It will automatically untick Stop if the computers switches to batter power.)&lt;br /&gt;
#On the Settings tab (additional other settings for the task).&lt;br /&gt;
##Confirm ticked for Allow task to be run on demand.&lt;br /&gt;
##By default Stop the task if it runs longer than: is already ticket and set as 3 days.Change to 1 hour (the behaviour here is the same as instruction 3.f.)&lt;br /&gt;
##Confirm ticked for If the running ask does not end when requested, for it to stop.&lt;br /&gt;
##Default setting of “Do not start a new instance” Is OK.&lt;br /&gt;
#Click on OK down the bottom to complete and commit the creation of this new task.&lt;br /&gt;
&lt;br /&gt;
===== Customisation =====&lt;br /&gt;
One can also customise/fine tune the task further by exporting it, default export format is XML. Then can edit in favourite text editor and reimport when done. May be useful in particular for fine tuning the repetition times of the task.&lt;br /&gt;
&lt;br /&gt;
== Additional remarks ==&lt;br /&gt;
&lt;br /&gt;
#(on NOT Windows) When mono is already active (as daemon or from command line in another process) you can start any mono executable without having it prepended by the mono command. As normally (if you did not uninstall it) xsp4 is running as a daemon, mono is always available so you can run mono executables as normal linux executables. You won&#039;t notice the difference. However if you don&#039;t have the x bit set, you get access refused when trying to execute. Without the x bit set you have to prepend mono as in: &#039;&#039;mono utils/bin/cumulusutils.exe&#039;&#039;. Then it executes without the x bit set because then it is an argument to the mono command. &lt;br /&gt;
#CumulusUtils is written in C#, HTML and javascript. All HTML and javascript is embedded in the C# code and generated on execution of &#039;&#039;CumulusUtils&#039;&#039;. The cumuluscharts.txt charts library was based on the cumuluscharts.js originally distributed with &#039;&#039;CumulusMX&#039;&#039;, probably the version a bit before April 2020 and has been modified since. With the appearance of the [[ChartsCompiler]] the name cumuluscharts.txt has been preserved but the technique of creating the charts has been changed.&lt;br /&gt;
#As CumulusUtils itself runs in the Cumulus directory, the data directory (data) is one level below. CumulusUtils currently uses - a copy of - dayfile.txt, the monthly logfiles and incidentally the alltime.ini file. It also takes information from Cumulus.ini.  All output is written to the utils/ subdirectory. All logs are created in the utils/utilslog/ subdirectory. It also uses the AirLink.log and the ExtraLog files in a similar way when the user has such devices.&lt;br /&gt;
#The output of CumulusUtils consists of UTF8 encoded text files. They can be brought to your website manually through some ftp tool (e.g. WinSCP) or by using the Extra Web Files functionality in the setting of Cumulus (deprecated) or by using the [[FTP facility]]. &lt;br /&gt;
#CumulusUtils can output for many languages. See the specific page on [[Language in CumulusUtils|language in CumulusUtils]].&lt;br /&gt;
#Development of CumulusUtils started in 9&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; of August 2019 with an initial commit of the Top10 written in C. Development changed rapidly to C# with an initial commit of Top10 on November 19 2019 of version  0.7.0. The rest  of the history can be read in the [[Release Notes|release notes]].&lt;br /&gt;
#Users can present themselves on the CumulusUtils [[Map - Users of CumulusUtils|usermap]]. Although optional for modules users, the author sees it as payment for the usage of the tool, so please put yourself on the map. For website users it is automatic and obligatory. The URL needs to be filled in by yourself in the inifile. When not a complete website, please fill in the URL to the page you use CUtils for.&lt;br /&gt;
#In case of problems there exists [[Errorlogging]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: comments to this series of articles is welcome either by using the Talk feature of the Wiki for that page, direct edit of the article (request an account) or by contacting the author of CumulusUtils [https://cumulus.hosiene.co.uk/memberlist.php?mode=viewprofile&amp;amp;u=9016 HansR] on the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44 forum] or through PM.&lt;br /&gt;
&lt;br /&gt;
[[Category:WebTools]][[Category:User Contributions]][[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12353</id>
		<title>CumulusUtils</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12353"/>
		<updated>2026-02-22T19:31:38Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This is the first page of the CumulusUtils Wiki. From here you should be able to find everything you need to know for this tool.&lt;br /&gt;
&lt;br /&gt;
If needed you can always go to the CumulusUtils Category page (see bottom of this page).&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
This paragraph describes what is required to use CumuluUtils (To be modified/extended by user experience).&lt;br /&gt;
#A working CumulusMX environment on Windows, Linux (RPi) or MacOS&lt;br /&gt;
#On Linux (and probably MacOS too) the user must verify whether [[SysInfo#Introduction|the application &#039;&#039;lshw&#039;&#039; has been installed]].&lt;br /&gt;
#NOTE: no experience by the author on MacOS exists so be prepared to communicate&lt;br /&gt;
#For the &#039;&#039;[[Charts_-_Misc_charts|Miscellaneous Charts]]&#039;&#039; more data - a year starting on jan 1 - is required to make these useful&lt;br /&gt;
#From CMX4 and CMX5 change in the handling of datetime in the logs. Corresponding CUtils versions are available. It is advised to upgrade to the last version of CMX/CUtils as fast as possible because of support.&lt;br /&gt;
#For longer data series it will be useful to run the [[Software#Create_Missing|CMX supporting application &#039;&#039;CreateMissing.exe&#039;&#039;]] beforehand.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
The goal of &#039;&#039;CumulusUtils&#039;&#039; (abbr: &#039;&#039;Cutils&#039;&#039; or &#039;&#039;CUtils&#039;&#039;) is to facilitate website creation for users of CumulusMX without exposure to coding in e.g. PHP or javascript. Having a meteo-website should not be privileged to users with great IT-skills. Making charts should not be demanding for programming skills in SQL or making it otherwise impossible to create charts without diving deep into the technique involved in CumulusMX (which actually is also the case with SQL). Note that this does not  mean you can&#039;t use IT skills: the &#039;&#039;user configurable menu&#039;&#039; offers an opening to expand as far as you wish.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; positions itself as a configurable application for which the understanding of how to run it and how to configure it is the most important thing to know. For configuration &#039;&#039;CumulusUtils&#039;&#039; uses [[Cumulusutils.ini|&#039;&#039;cumulusutils.ini&#039;&#039;]] file which resides in the CumulusMX directory. If that file does not exist, it will be created. The same holds for the CUstringsXX.ini file (containing your translations for CUtils text strings). All other files related to &#039;&#039;CumulusUtils&#039;&#039; reside in the utils directory.&lt;br /&gt;
&lt;br /&gt;
The charts are created using [https://www.highcharts.com/ HighCharts] using their [https://shop.highcharts.com/license-eula &amp;quot;Personal Use&amp;quot; License]. If you want to use the charts or the [[Website Generator]] of &#039;&#039;CumulusUtils&#039;&#039;, please make yourself acquainted with this license.&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
The user is assumed to have basic computer skills and knowledge about the Operating System and directory structure. The user must also be aware of the directory infrastructure of CumulusMX and needs to be aware  of the meaning of the terms &#039;&#039;webroot&#039;&#039; and &#039;&#039;FTProot&#039;&#039; and &#039;&#039;Working Directory&#039;&#039;. The user should be able to understand and edit the ini files (both from &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;CumulusUtils&#039;&#039;). The user should understand the basic functioning of &#039;&#039;CumulusMX&#039;&#039; which means the correct availability of &#039;&#039;CumulusMX&#039;&#039; is a precondition for using &#039;&#039;CumulusUtils&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Some output files can be used with &#039;&#039;Cumulus 1&#039;&#039; but the charting possibilities rely on the availability of the JSON datafiles of &#039;&#039;CumulusMX&#039;&#039;. Therefore the use of &#039;&#039;CumulusUtils&#039;&#039; in combination with &#039;&#039;Cumulus 1&#039;&#039; is limited. The [[Website Generator|website generator]] in combination with &#039;&#039;Cumulus 1&#039;&#039; is not advised.&lt;br /&gt;
&lt;br /&gt;
== Output ==&lt;br /&gt;
The output of &#039;&#039;CumulusUtils&#039;&#039; consists of mainly of text files (extension: .txt) which are generated on demand. In Cutils idiom [[modules|&#039;&#039;modules&#039;&#039;]]. These text files can be incorporated in a website the user has or is making. Ultimately when using the [[Website Generator|website generator]] feature,  &#039;&#039;CumulusUtils&#039;&#039; generates a complete website, uploaded to the user domain and extendable through a [[User Defined Menu|user defined menu]]. When using the [[ChartsCompiler|&#039;&#039;ChartsCompiler&#039;&#039;]], the user can define his own charts and place the output where he wants just like other &#039;&#039;modules&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
All output of CumulusUtils is written [[Encoding_in_CumulusUtils|as UTF8 encoded text  files]].&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;CumulusUtils&#039;&#039; is available in a distribution which can be downloaded from the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44&amp;amp;t=17998 forum]. In the CumulusMX directory the user must create a directory &#039;&#039;utils&#039;&#039; (case dependent) and must copy the files of the distribution (including the subdirectories) to that directory. &lt;br /&gt;
# Rename &#039;&#039;CutilsCharts-default-for-use.def&#039;&#039; to &#039;&#039;CutilsCharts.def&#039;&#039;&lt;br /&gt;
# Then, on the domain for the website, the user needs to make two directories in the webroot: &#039;lib&#039; and &#039;css&#039;.&lt;br /&gt;
# Updating &#039;&#039;CumulusUtils&#039;&#039; is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the  utils directory.&lt;br /&gt;
# The language setting of CumulusUtils is for display/language handling only and does not affect the reading of the data in any way apart for the monthly log file name.&lt;br /&gt;
# From CMX version 4, the logfiles are written as invariant and the above striked through note has become invalid.&lt;br /&gt;
# From CMX version 4.7 (.NET 10; later rename version 5.0) there are changes in the database which require CMX to run before CUtils 8.2.0 can run. &lt;br /&gt;
&lt;br /&gt;
When installed you are ready to run. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
So after installing you have:&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the CumulusMX machine is:&lt;br /&gt;
  utils			(contents in the distribution)&lt;br /&gt;
    |--- bin		(in the distribution (from 4.7.0 and up))&lt;br /&gt;
    |--- utilslog	(Created by CumulusUtils)&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the Website is:&lt;br /&gt;
&lt;br /&gt;
  WebRoot		(Content uploaded by CumulusUtils)&lt;br /&gt;
    |--- lib		(JavaScript libraries, uploaded by CumulusUtils during a run)&lt;br /&gt;
    |--- css		(css files, uploaded by CumulusUtils during a run)&lt;br /&gt;
&lt;br /&gt;
=== Updating CumulusUtils ===&lt;br /&gt;
Updating CumulusUtils is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the utils directory. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
=== Informational files ===&lt;br /&gt;
In the distribution there are some files which are examples or defaults. When used, rename them (and possibly copy manually to the webroot).&lt;br /&gt;
No automatic copying of these files is done by CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
Beside the libraries the distribution contains:&lt;br /&gt;
#CUserAbout-example.txt : as an example of the user about file - when used rename to &#039;&#039;CUserAbout.txt&#039;&#039;&lt;br /&gt;
#CutilsMenu-example-for-use.def : as an example of the menu structure - when used rename to &#039;&#039;CutilsMenu.def&#039;&#039;&lt;br /&gt;
#CutilsCharts-examples.def : not intended for direct use, contains some more elaborate examples of the [[ChartsCompiler]] possibilities&lt;br /&gt;
&lt;br /&gt;
To avoid confusion it is left to the user to edit and maintain the files for use either on the website or on the CumulusMX machine.&lt;br /&gt;
&lt;br /&gt;
When creating website the file &#039;&#039;CutilsHead.def&#039;&#039; may have importance to you. See [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
=== Manually installing without FTP ===&lt;br /&gt;
NOTE: Not using the automatic upload system is disadvised. Because CumulusUtils is datadriven it requires the JSON files and the &#039;&#039;realtime.txt&#039;&#039; and &#039;&#039;realtimegauges.txt&#039;&#039; from CMX. Besides those, if you are using the &#039;&#039;UserAskedData&#039;&#039; feature of CumulusUtils there will be additional JSON files required for the server and without the upload module you will need a way to get them there. There is no copy feature like CMX has as CumulusUtils is designed as a website tool and an upload method is implicitly assumed present. However, manual handling can be done but is not advised.&lt;br /&gt;
&lt;br /&gt;
All required installation and generated files are present in the utils directory and copied with &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; to the server during a run of CumulusUtils.&lt;br /&gt;
If you don&#039;t use &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; you will have to copy manually.&lt;br /&gt;
&lt;br /&gt;
The PHP upload is by far preferred.&lt;br /&gt;
&lt;br /&gt;
=== Files involved ===&lt;br /&gt;
The list of installation files required and their destination is below. The generated Javascript files are included in the table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Distribution File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| index.html || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges.js || &amp;lt;webroot&amp;gt;/lib || Despite the same name this file is very different from the one in CMX&lt;br /&gt;
|-&lt;br /&gt;
| CUlanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsDefaults.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| suncalc.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUtween.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUsteelseries.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.rose.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.common.core.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges-ss.css || &amp;lt;webroot&amp;gt;/css&lt;br /&gt;
|-&lt;br /&gt;
! Generated File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| cumulusutils.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsLanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| *.txt || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsRecentdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsDailydata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataRECENT.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataDAILY.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataALL.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Realtime Files !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| realtime.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| realtimegauges.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| airlinkrealtime.txt || &amp;lt;webroot&amp;gt; || When the AirLink device is configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| customlogsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| meteocamrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|}&lt;br /&gt;
[1] : These files may be served by CMX in another directory (just like the CMX JSON data files). In that case the relative location is specified in the  inifile parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[2] : these files are generated in the utils directory and need to be configured as Extra Webfiles in CMX with the ticks: Realtime, Process and FTP. Note that the generated file has the webtags and remains local, the processed files contains the values and must be send to the &amp;lt;webroot&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Running CumulusUtils ==&lt;br /&gt;
&lt;br /&gt;
CumulusUtils is - up to v6.x.y - a [https://www.mono-project.com/ &#039;&#039;mono&#039;&#039;] executable. &lt;br /&gt;
&lt;br /&gt;
From v7.0.0 and up it runs under .NET 8 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this  link when on Linux&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
From v8.2.0 and up it runs under .NET 10 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this link when on Linux&#039;&#039;] (and this has changes to the database which require CMX to run before CUtils can successfully run).&lt;br /&gt;
&lt;br /&gt;
All environments are very different and not interchangeable. However running CumulusUtils is pretty similar on all environments and mono and dotnet (8 and 10) can co-exist on the same machine. See the CMX installation on how to install either mono or dotnet. CumulusUtils assumes the correct installation of either environment.&lt;br /&gt;
&lt;br /&gt;
Mono is an open source implementation of Microsoft&#039;s .NET Framework based on the ECMA standards for C# and the Common Language Runtime. &lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; runs on any operating system CumulusMX runs on and it &#039;&#039;&#039;MUST&#039;&#039;&#039; run in the CumulusMX directory (as &#039;&#039;working directory&#039;&#039;).&lt;br /&gt;
Running &#039;&#039;CumulusUtils&#039;&#039; is done from the commandline in a command window (under any OS).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; takes one or more commandline parameters (in short: commands) and must be like (see NOTE 1 below; square brackets means &#039;&#039;optional&#039;&#039; so DON&#039;T TYPE THEM):&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;utils/bin/cumulusutils.exe [command]&#039;&#039;  (the &#039;&#039;mono&#039;&#039; syntax - this assumes mono is already active)&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;dotnet utils/bin/cumulusutils.dll [command]&#039;&#039;  (the &#039;&#039;.NET&#039;&#039; syntax - &#039;&#039;dotnet&#039;&#039; is obligatory on the commandline. Note the &#039;&#039;&#039;dll&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Below is described for &#039;&#039;mono&#039;&#039;, when using .NET, please change the command as above. Note you will have to carry this on in scripts as well. Using the dotnet command in crontab requires using the explicit path to the dotnet command or defining the PATH environment variable in the crontab script which does not know the environment (a bit awkward).&lt;br /&gt;
&lt;br /&gt;
If no commands are given the application responds with:&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;CumulusUtils : No Arguments nothing to do. Exiting. See Manual.&lt;br /&gt;
                CumulusUtils Usage : utils/bin/cumulusutils.exe [args] (args case independent):&lt;br /&gt;
                  utils/bin/cumulusutils.exe&lt;br /&gt;
                      [ [[SysInfo]] ] [ [[Forecast]] ] [ [[StationMap]] ] [ [[UserReports]] ] [ [[MeteoCam]] ]&lt;br /&gt;
                      [ [[pwsFWI]] ][ [[Records - Top10|Top10]] ][ [[Graphs]] ][ [[Yadr]] ][ [[Records]] ]&lt;br /&gt;
                      [ [[NOAA]] ][ [[Records - DayRecords|DayRecords]] ][ [[AirLink]] ][ [[UserAskedData]] ]&lt;br /&gt;
                      [ [[ChartsCompiler|CompileOnly]] ] [ [[Extra Sensors|ExtraSensors]] ] [ [[Custom Logs|CustomLogs]] ] &lt;br /&gt;
                      [ [[Diary|Diary ]] ] [[CumulusUtils Runtime Library|CUlib]] ]&lt;br /&gt;
                      | [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] &lt;br /&gt;
&lt;br /&gt;
                OR (in case you use the website generator):&lt;br /&gt;
                   utils/bin/cumulusutils.exe [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
All &#039;&#039;modules&#039;&#039; mentioned in the  command will be described in their own pages here on the wiki and when available will be linked from here.&lt;br /&gt;
&lt;br /&gt;
The commands represent the &#039;&#039;modules&#039;&#039; the user is asking for to be generated. The output is generated to the utils directory in the &#039;&#039;CumulusMX&#039;&#039; directory. When asking for the generation of the website, the user not only gets all &#039;&#039;modules&#039;&#039; available but also an &#039;&#039;index.html&#039;&#039; file accompanied with some javascript infrastructure. Everything together then is the website which, when copied to the webroot, is ready for use.&lt;br /&gt;
&lt;br /&gt;
Commands to CumulusUtils - the module names - are case independent but the author prefers [https://en.wikipedia.org/wiki/Camel_case Upper Camel Case] (or Pascal Case).&lt;br /&gt;
&lt;br /&gt;
Copying to the webroot can also be done automatically through the FTP account of the user, much like &#039;&#039;CumulusMX&#039;&#039; itself copies e.g. the realtime.txt or the datafiles to the webroot. The FTP account and domain used are the same as present in the [[Cumulus.ini]] configuration. The PHP upload as exists in CMX can also be used with CUtils and it works exactly the same.&lt;br /&gt;
&lt;br /&gt;
=== Considerations with CMX configuration ===&lt;br /&gt;
Please note that CumulusUtils requires live data from CumulusMX to display what you expect. To accomplish that you need to configure CMX as follows:&lt;br /&gt;
&lt;br /&gt;
The things it is looking for are realtime.txt and realtimegauges.txt. Those are sent by CMX to the directory you configure in &#039;&#039;Settings=&amp;gt;Web/Upload Site&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Normal Interval Settings&#039;&#039;: Tick both options and set the interval time to enable interval Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Standard File settings&#039;&#039;: Disable both options (for CumulusUtils, if you have websites which use those, leave it enabled)&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Graph File Settings&#039;&#039;: Enable all (only &#039;&#039;Upload&#039;&#039;, use &#039;&#039;Create Local&#039;&#039; only when needed) except the following:&lt;br /&gt;
   &#039;&#039;availabledata.json&#039;&#039;, &#039;&#039;dailyrain.json&#039;&#039;, &#039;&#039;dailytemp.json&#039;&#039;, &#039;&#039;sunhours.json&#039;&#039;, &#039;&#039;airquality.json&#039;&#039;, &#039;&#039;extra*.json&#039;&#039;, &#039;&#039;soil*.json&#039;&#039;, &#039;&#039;user*.json&#039;&#039;,&#039;&#039;co2*.json&#039;&#039; and &#039;&#039;leaf*.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Daily Graph File Settings&#039;&#039;: Enable all except &#039;&#039;alldailydegdaydata.json&#039;&#039;, &#039;&#039;alltempsumdata.json&#039;&#039; and &#039;&#039;allchillhrsdata.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both and set interval time to enable realtime Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both &#039;&#039;realtime.txt&#039;&#039; and &#039;&#039;realtimegauges.txt&#039;&#039; for Upload, use &#039;&#039;Create Local&#039;&#039; only when needed.&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Web/Upload Site=&amp;gt;General Settings&#039;&#039;: Tick &#039;&#039;UTF-8 encoding&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For the &#039;&#039;[[ChartsCompiler]]&#039;&#039; (you may be more selective later when understanding what and how):&lt;br /&gt;
&lt;br /&gt;
After selecting the required tables you need to select the variables they may contain:&lt;br /&gt;
&lt;br /&gt;
 In Settings=&amp;gt;Station Settings=&amp;gt;Graphs=&amp;gt;Data Series Visibility: Tick all&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: You may disable some fields later when you are more acquainted with the system. Disabling tables and field can be especially useful when you are worried about size of transfer and provider limits.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the &#039;&#039;[[ChartsCompiler]]&#039;&#039;, you may need the &#039;&#039;[[UserAskedData]]&#039;&#039; command to CumulusUtils. See the [[ChartsCompiler]].&lt;br /&gt;
&lt;br /&gt;
You may want to read about and understand the [[Website_Generator#CumulusRealTimeLocation|&#039;&#039;CumulusRealTimeLocation&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
=== When and why to run ===&lt;br /&gt;
Running CumulusUtils results in output which represents a static view of the data in a table or graphic format for display on your website (it may even create a complete website). The fact that the output is a static view requires the output to be regenerated when new data is available. Rerunning CumulusUtils is also required when you change anything in the configuration and can&#039;t wait to see that change reflected on the site. In general: changes in data and configuration require a rerun.&lt;br /&gt;
&lt;br /&gt;
Reruns for changes of data are typically once  per day, just after rollover time. In that sense it is like running a new query.&lt;br /&gt;
&lt;br /&gt;
There are some exceptions to the daily rule: Sysinfo and [[UserAskedData]]&lt;br /&gt;
#Sysinfo: a rerun with Sysinfo is required when you wish to update the system information which can be a requirement from every 10 minutes to once per day&lt;br /&gt;
#[[UserAskedData]]: provides data for charts which are otherwise not available. Again this is at a user desired frequency which is recommended to be the FTP frequency defined in Cumulus.ini (parameter &#039;&#039;UpdateInterval&#039;&#039; in section [FTP site])&lt;br /&gt;
&lt;br /&gt;
==== RPi: Using crontab ====&lt;br /&gt;
Automating the run of CumulusUtils on the Raspberry Pi is typically done through [https://man7.org/linux/man-pages/man5/crontab.5.html &#039;&#039;crontab&#039;&#039;]. Below is the crontab of the author of CumulusUtils to be used as an &#039;&#039;&#039;example&#039;&#039;&#039;! &lt;br /&gt;
&lt;br /&gt;
===== For dotnet =====&lt;br /&gt;
  05 1 * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll thrifty website&lt;br /&gt;
  1-51/10 * * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll sysinfo UserAskedData UserReports&lt;br /&gt;
&lt;br /&gt;
===== For mono =====&lt;br /&gt;
  15 1 * * *  cd /home/CumulusMX; utils/bin/cumulusutils.exe thrifty website&lt;br /&gt;
  1-51/10 * * * *  cd /home/CumulusMX; utils/bin/cumulusutils.exe sysinfo UserAskedData UserReport&lt;br /&gt;
&lt;br /&gt;
==== Windows: Using the scheduler ====&lt;br /&gt;
===== How to create a scheduled task =====&lt;br /&gt;
Prior to doing this we need to also create the script that the task will use.&lt;br /&gt;
Open notepad or your favourite text editor (preferred use: Notepad++).&lt;br /&gt;
&lt;br /&gt;
You can copy paste the below and save as cumulusutils.bat&lt;br /&gt;
(It can be a filename of choice but must have extension of .bat, if using windows notepad, underneath the File name: option, will need to set Save as type: option to All Files (*.*). This way when the File name: is set as cumulusutils.bat it will save it as that and not cumulusutils.bat.txt)&lt;br /&gt;
====== Batch file code of cumulusutils.bat ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v6 and below (running under mono):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd\&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;/br&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;/br&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX C:\CumulusMX\utils\bin\cumulusutils.exe Website&amp;lt;/br&amp;gt;&lt;br /&gt;
 :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   exit&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: The command shown here is &#039;&#039;Website&#039;&#039;. The user can put any command he likes in here (with or without &#039;&#039;Thrifty&#039;&#039;) depending on what he wants to achieve. Possibly he has to create multiple tasks (e.g. UserAskedData specifically runs on a higher frequency than website). These commands then require their own batch files.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v7 and up (running under dotnet):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd\&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;br/&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;br/&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX dotnet C:\CumulusMX\utils\bin\cumulusutils.dll Website&amp;lt;br/&amp;gt;&lt;br /&gt;
 :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   exit&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Task creation process =====&lt;br /&gt;
Within the Task Scheduler Library&lt;br /&gt;
#Create “New Task…” (actions pane), or right click middle pane and choose “Create New Task” (not Create Basic Task).&lt;br /&gt;
##On the General tab of the new task (General information about the task).&lt;br /&gt;
##Set desired name for the Task (Example name CumulusUtils, can also set description if desired).&lt;br /&gt;
##Click “Change User or Group…”.&lt;br /&gt;
##Type in here the word system (click on “Check Names” if desired, to confirm it is correct and it should then display as SYSTEM in capitals).&lt;br /&gt;
##Click OK to use this user account.&lt;br /&gt;
##Note in Security options part of the new task creation process it should now state under. When running the task, use the following user account: NT AUTHORITY\SYSTEM &amp;lt;br/&amp;gt;(Convenient reason for this is that when the task runs, it runs is running as system account and so is not seen popping up on screen when it is running.)&lt;br /&gt;
##“Configure for:” not required to be changed, can be changed to version of operating system.&lt;br /&gt;
#On the Triggers tab of the new task (Setting when and how often the task runs).&lt;br /&gt;
##Click on “New”, to create a new launch time and frequency of the task.&lt;br /&gt;
##Begin the task: option should default to “On a schedule”, this is the desired option.&lt;br /&gt;
##Under the settings section choose “Daily” option.&lt;br /&gt;
##Start: date can be left as is, set the desired start time of the task. Set to “12:00:15 am”.&amp;lt;/br&amp;gt;(Reason for this setting with 15 second delay is trying not to compete with CumulusMX upload tasks).&lt;br /&gt;
##In the advanced part, enable Repeat task every: and choose desired interval.&amp;lt;/br&amp;gt;With the option for a duration of: default setting of “1 day” is used.&lt;br /&gt;
##Set Stop task if it runs longer than: to “30 minutes” (if the task runs longer than the time set, it is stopped. This applies to the individually triggered task, and not the overall routine of this scheduled task, with it’s repeating trigger times).&lt;br /&gt;
##Confirm that the Enabled options is ticked to make active this trigger routine.&lt;br /&gt;
#On the Actions tab (Setting what the task is to do).&lt;br /&gt;
##Click on “New…” to create a new action.&lt;br /&gt;
##Action: should default to “Start a program” this is correct.&lt;br /&gt;
##In the Program/Script: part, type the path to the program to run, or click “Browse” to navigate and select the program to run. (example C:\CumulusMX\batch_files\cumulusutils.bat).&lt;br /&gt;
#On the Conditions tab (setting other conditions).&lt;br /&gt;
##Under Power, untick Start the task only if the computer us on AC power&amp;lt;/br&amp;gt;(This then enables the task to start and run even if on battery. It will automatically untick Stop if the computers switches to batter power.)&lt;br /&gt;
#On the Settings tab (additional other settings for the task).&lt;br /&gt;
##Confirm ticked for Allow task to be run on demand.&lt;br /&gt;
##By default Stop the task if it runs longer than: is already ticket and set as 3 days.Change to 1 hour (the behaviour here is the same as instruction 3.f.)&lt;br /&gt;
##Confirm ticked for If the running ask does not end when requested, for it to stop.&lt;br /&gt;
##Default setting of “Do not start a new instance” Is OK.&lt;br /&gt;
#Click on OK down the bottom to complete and commit the creation of this new task.&lt;br /&gt;
&lt;br /&gt;
===== Customisation =====&lt;br /&gt;
One can also customise/fine tune the task further by exporting it, default export format is XML. Then can edit in favourite text editor and reimport when done. May be useful in particular for fine tuning the repetition times of the task.&lt;br /&gt;
&lt;br /&gt;
== Additional remarks ==&lt;br /&gt;
&lt;br /&gt;
#(on NOT Windows) When mono is already active (as daemon or from command line in another process) you can start any mono executable without having it prepended by the mono command. As normally (if you did not uninstall it) xsp4 is running as a daemon, mono is always available so you can run mono executables as normal linux executables. You won&#039;t notice the difference. However if you don&#039;t have the x bit set, you get access refused when trying to execute. Without the x bit set you have to prepend mono as in: &#039;&#039;mono utils/bin/cumulusutils.exe&#039;&#039;. Then it executes without the x bit set because then it is an argument to the mono command. &lt;br /&gt;
#CumulusUtils is written in C#, HTML and javascript. All HTML and javascript is embedded in the C# code and generated on execution of &#039;&#039;CumulusUtils&#039;&#039;. The cumuluscharts.txt charts library was based on the cumuluscharts.js originally distributed with &#039;&#039;CumulusMX&#039;&#039;, probably the version a bit before April 2020 and has been modified since. With the appearance of the [[ChartsCompiler]] the name cumuluscharts.txt has been preserved but the technique of creating the charts has been changed.&lt;br /&gt;
#As CumulusUtils itself runs in the Cumulus directory, the data directory (data) is one level below. CumulusUtils currently uses - a copy of - dayfile.txt, the monthly logfiles and incidentally the alltime.ini file. It also takes information from Cumulus.ini.  All output is written to the utils/ subdirectory. All logs are created in the utils/utilslog/ subdirectory. It also uses the AirLink.log and the ExtraLog files in a similar way when the user has such devices.&lt;br /&gt;
#The output of CumulusUtils consists of UTF8 encoded text files. They can be brought to your website manually through some ftp tool (e.g. WinSCP) or by using the Extra Web Files functionality in the setting of Cumulus (deprecated) or by using the [[FTP facility]]. &lt;br /&gt;
#CumulusUtils can output for many languages. See the specific page on [[Language in CumulusUtils|language in CumulusUtils]].&lt;br /&gt;
#Development of CumulusUtils started in 9&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; of August 2019 with an initial commit of the Top10 written in C. Development changed rapidly to C# with an initial commit of Top10 on November 19 2019 of version  0.7.0. The rest  of the history can be read in the [[Release Notes|release notes]].&lt;br /&gt;
#Users can present themselves on the CumulusUtils [[Map - Users of CumulusUtils|usermap]]. Although optional for modules users, the author sees it as payment for the usage of the tool, so please put yourself on the map. For website users it is automatic and obligatory. The URL needs to be filled in by yourself in the inifile. When not a complete website, please fill in the URL to the page you use CUtils for.&lt;br /&gt;
#In case of problems there exists [[Errorlogging]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: comments to this series of articles is welcome either by using the Talk feature of the Wiki for that page, direct edit of the article (request an account) or by contacting the author of CumulusUtils [https://cumulus.hosiene.co.uk/memberlist.php?mode=viewprofile&amp;amp;u=9016 HansR] on the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44 forum] or through PM.&lt;br /&gt;
&lt;br /&gt;
[[Category:WebTools]][[Category:User Contributions]][[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12352</id>
		<title>CumulusUtils</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12352"/>
		<updated>2026-02-22T19:10:16Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Goals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This is the first page of the CumulusUtils Wiki. From here you should be able to find everything you need to know for this tool.&lt;br /&gt;
&lt;br /&gt;
If needed you can always go to the CumulusUtils Category page (see bottom of this page).&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
This paragraph describes what is required to use CumuluUtils (To be modified/extended by user experience).&lt;br /&gt;
#A working CumulusMX environment on Windows, Linux (RPi) or MacOS&lt;br /&gt;
#On Linux (and probably MacOS too) the user must verify whether [[SysInfo#Introduction|the application &#039;&#039;lshw&#039;&#039; has been installed]].&lt;br /&gt;
#NOTE: no experience by the author on MacOS exists so be prepared to communicate&lt;br /&gt;
#For the &#039;&#039;[[Charts_-_Misc_charts|Miscellaneous Charts]]&#039;&#039; more data - a year starting on jan 1 - is required to make these useful&lt;br /&gt;
#From CMX4 and CMX5 change in the handling of datetime in the logs. Corresponding CUtils versions are available. It is advised to upgrade to the last version of CMX/CUtils as fast as possible because of support.&lt;br /&gt;
#For longer data series it will be useful to run the [[Software#Create_Missing|CMX supporting application &#039;&#039;CreateMissing.exe&#039;&#039;]] beforehand.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
The goal of &#039;&#039;CumulusUtils&#039;&#039; (abbr: &#039;&#039;Cutils&#039;&#039; or &#039;&#039;CUtils&#039;&#039;) is to facilitate website creation for users of CumulusMX without exposure to coding in e.g. PHP or javascript. Having a meteo-website should not be privileged to users with great IT-skills. Making charts should not be demanding for programming skills in SQL or making it otherwise impossible to create charts without diving deep into the technique involved in CumulusMX (which actually is also the case with SQL). Note that this does not  mean you can&#039;t use IT skills: the &#039;&#039;user configurable menu&#039;&#039; offers an opening to expand as far as you wish.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; positions itself as a configurable application for which the understanding of how to run it and how to configure it is the most important thing to know. For configuration &#039;&#039;CumulusUtils&#039;&#039; uses [[Cumulusutils.ini|&#039;&#039;cumulusutils.ini&#039;&#039;]] file which resides in the CumulusMX directory. If that file does not exist, it will be created. The same holds for the CUstringsXX.ini file (containing your translations for CUtils text strings). All other files related to &#039;&#039;CumulusUtils&#039;&#039; reside in the utils directory.&lt;br /&gt;
&lt;br /&gt;
The charts are created using [https://www.highcharts.com/ HighCharts] using their [https://shop.highcharts.com/license-eula &amp;quot;Personal Use&amp;quot; License]. If you want to use the charts or the [[Website Generator]] of &#039;&#039;CumulusUtils&#039;&#039;, please make yourself acquainted with this license.&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
The user is assumed to have basic computer skills and knowledge about the Operating System and directory structure. The user must also be aware of the directory infrastructure of CumulusMX and needs to be aware  of the meaning of the terms &#039;&#039;webroot&#039;&#039; and &#039;&#039;FTProot&#039;&#039; and &#039;&#039;Working Directory&#039;&#039;. The user should be able to understand and edit the ini files (both from &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;CumulusUtils&#039;&#039;). The user should understand the basic functioning of &#039;&#039;CumulusMX&#039;&#039; which means the correct availability of &#039;&#039;CumulusMX&#039;&#039; is a precondition for using &#039;&#039;CumulusUtils&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Some output files can be used with &#039;&#039;Cumulus 1&#039;&#039; but the charting possibilities rely on the availability of the JSON datafiles of &#039;&#039;CumulusMX&#039;&#039;. Therefore the use of &#039;&#039;CumulusUtils&#039;&#039; in combination with &#039;&#039;Cumulus 1&#039;&#039; is limited. The [[Website Generator|website generator]] in combination with &#039;&#039;Cumulus 1&#039;&#039; is not advised.&lt;br /&gt;
&lt;br /&gt;
== Output ==&lt;br /&gt;
The output of &#039;&#039;CumulusUtils&#039;&#039; consists of mainly of text files (extension: .txt) which are generated on demand. In Cutils idiom [[modules|&#039;&#039;modules&#039;&#039;]]. These text files can be incorporated in a website the user has or is making. Ultimately when using the [[Website Generator|website generator]] feature,  &#039;&#039;CumulusUtils&#039;&#039; generates a complete website, uploaded to the user domain and extendable through a [[User Defined Menu|user defined menu]]. When using the [[ChartsCompiler|&#039;&#039;ChartsCompiler&#039;&#039;]], the user can define his own charts and place the output where he wants just like other &#039;&#039;modules&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
All output of CumulusUtils is written [[Encoding_in_CumulusUtils|as UTF8 encoded text  files]].&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;CumulusUtils&#039;&#039; is available in a distribution which can be downloaded from the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44&amp;amp;t=17998 forum]. In the CumulusMX directory the user must create a directory utils (case dependent) and must copy the files of the distribution (including the subdirectories) to that directory. &lt;br /&gt;
# Then, on the domain for the website, the user needs to make two directories in the webroot: &#039;lib&#039; and &#039;css&#039;. In addition the distribution directory CUicons must be copied as a whole - with contents - to the webroot. &lt;br /&gt;
# Updating &#039;&#039;CumulusUtils&#039;&#039; is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the  utils directory.&lt;br /&gt;
# &amp;lt;s&amp;gt;NOTE a seemingly important issue: the datafiles (the naming and the contents) are dependent for their format on the locale / country setting of your machine. If you install and run from scratch and do not bother CMX will take the country setting from the settings of the computer. You may also give the country setting on the commandline when starting CMX. However, it is important to know that CumulusUtils does not handle datafiles with mixed languages and produces lots of errors. When starting with a new install this is not a big deal. But if you have years of old data which you wish to analyse as well you must consider carefully which country setting of CMX is required. Note that the language setting of CumulusUtils  is for display/language handling only and does not affect the reading of the data in any way apart for the monthly log file name. If you use a different locale than the one you use for CMX, the please fill in the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039; (section [General]) with the abbreviated filenames of the locale you use for CMX.&amp;lt;/s&amp;gt;&lt;br /&gt;
# From version 4, the logfiles are written as invariant and the above striked through note has become invalid&lt;br /&gt;
# From version 4.7 (.NET 10) there are changes in the database which require CMX to run before CUtils 8.2.0 can run. &lt;br /&gt;
&lt;br /&gt;
When installed you are ready to run. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
So after installing you have:&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the CumulusMX machine is:&lt;br /&gt;
  utils			(contents in the distribution)&lt;br /&gt;
    |--- bin		(in the distribution (from 4.7.0 and up))&lt;br /&gt;
    |--- utilslog	(Created by CumulusUtils)&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the Website is:&lt;br /&gt;
&lt;br /&gt;
  WebRoot		(Content uploaded by CumulusUtils)&lt;br /&gt;
    |--- lib		(JavaScript libraries, uploaded by CumulusUtils during a run)&lt;br /&gt;
    |--- css		(css files, uploaded by CumulusUtils during a run)&lt;br /&gt;
    |--- CUicons        (required to be manually copied once)&lt;br /&gt;
&lt;br /&gt;
=== Updating CumulusUtils ===&lt;br /&gt;
Updating CumulusUtils is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the utils directory. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
=== Informational files ===&lt;br /&gt;
In the distribution there are some files which are examples or defaults. When used, rename them (and possibly copy manually to the webroot).&lt;br /&gt;
No automatic copying of these files is done by CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
Beside the libraries the distribution contains:&lt;br /&gt;
#CUserAbout-example.txt : as an example of the user about file - when used rename to &#039;&#039;CUserAbout.txt&#039;&#039;&lt;br /&gt;
#CutilsMenu-example-for-use.def : as an example of the menu structure - when used rename to &#039;&#039;CutilsMenu.def&#039;&#039;&lt;br /&gt;
#CutilsCharts-default-for-use.def : when used rename to &#039;&#039;CutilsCharts.def&#039;&#039;&lt;br /&gt;
#CutilsCharts-examples.def : not intended for direct use, contains some more elaborate examples of the [[ChartsCompiler]] possibilities&lt;br /&gt;
&lt;br /&gt;
To avoid confusion it is left to the user to edit and maintain the files for use either on the website or on the CumulusMX machine.&lt;br /&gt;
&lt;br /&gt;
When creating website the file &#039;&#039;CutilsHead.def&#039;&#039; may have importance to you. See [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
=== Manually installing without FTP ===&lt;br /&gt;
NOTE: Not using the automatic upload system is disadvised. Because CumulusUtils is datadriven it requires the JSON files and the realtime.txt and realtimegauges.txt from CMX. Besides those, if you are using the UserAskedData feature of CumulusUtils there will be additional JSON files required for the server and without the upload module your will need a way to get them there. There is no copy feature like CMX has as CumulusUtils is designed as a website tool and an upload method is implicitely assumed present. However, manual handling can be done but is not advised.&lt;br /&gt;
&lt;br /&gt;
All required installation and generated files are present in the utils directory and copied with &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; to the server during a run of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t use &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; you will have to copy manually.&lt;br /&gt;
&lt;br /&gt;
=== Files involved ===&lt;br /&gt;
The list of installation files required and their destination is below. The generated Javascript files are included in the table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Distribution File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| index.html || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges.js || &amp;lt;webroot&amp;gt;/lib || Despite the same name this file is very different from the one in CMX&lt;br /&gt;
|-&lt;br /&gt;
| CUlanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsDefaults.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| suncalc.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUtween.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUsteelseries.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.rose.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.common.core.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges-ss.css || &amp;lt;webroot&amp;gt;/css&lt;br /&gt;
|-&lt;br /&gt;
! Generated File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| cumulusutils.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsLanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| *.txt || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsRecentdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsDailydata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataRECENT.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataDAILY.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataALL.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Realtime Files !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| realtime.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| realtimegauges.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| airlinkrealtime.txt || &amp;lt;webroot&amp;gt; || When the AirLink device is configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| customlogsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| meteocamrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|}&lt;br /&gt;
[1] : These files may be served by CMX in another directory (just like the CMX JSON data files). In that case the relative location is specified in the  inifile parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[2] : these files are generated in the utils directory and need to be configured as Extra Webfiles in CMX with the ticks: Realtime, Process and FTP. Note that the generated file has the webtags and remains local, the processed files contains the values and must be send to the &amp;lt;webroot&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Running CumulusUtils ==&lt;br /&gt;
&lt;br /&gt;
CumulusUtils is - up to v6.x.y - a [https://www.mono-project.com/ &#039;&#039;mono&#039;&#039;] executable. &lt;br /&gt;
&lt;br /&gt;
From v7.0.0 and up it runs under .NET 8 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this  link when on Linux&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
From v8.2.0 and up it runs under .NET 10 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this link when on Linux&#039;&#039;] (and this has changes to the database which require CMX to run before CUtils can successfully run).&lt;br /&gt;
&lt;br /&gt;
All environments are very different and not interchangeable. However running CumulusUtils is pretty similar on all environments and mono and dotnet (8 and 10) can co-exist on the same machine. See the CMX installation on how to install either mono or dotnet. CumulusUtils assumes the correct installation of either environment.&lt;br /&gt;
&lt;br /&gt;
Mono is an open source implementation of Microsoft&#039;s .NET Framework based on the ECMA standards for C# and the Common Language Runtime. &lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; runs on any operating system CumulusMX runs on and it &#039;&#039;&#039;MUST&#039;&#039;&#039; run in the CumulusMX directory (as &#039;&#039;working directory&#039;&#039;).&lt;br /&gt;
Running &#039;&#039;CumulusUtils&#039;&#039; is done from the commandline in a command window (under any OS).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; takes one or more commandline parameters (in short: commands) and must be like (see NOTE 1 below; square brackets means &#039;&#039;optional&#039;&#039; so DON&#039;T TYPE THEM):&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;utils/bin/cumulusutils.exe [command]&#039;&#039;  (the &#039;&#039;mono&#039;&#039; syntax - this assumes mono is already active)&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;dotnet utils/bin/cumulusutils.dll [command]&#039;&#039;  (the &#039;&#039;.NET&#039;&#039; syntax - &#039;&#039;dotnet&#039;&#039; is obligatory on the commandline. Note the &#039;&#039;&#039;dll&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Below is described for &#039;&#039;mono&#039;&#039;, when using .NET, please change the command as above. Note you will have to carry this on in scripts as well. Using the dotnet command in crontab requires using the explicit path to the dotnet command or defining the PATH environment variable in the crontab script which does not know the environment (a bit awkward).&lt;br /&gt;
&lt;br /&gt;
If no commands are given the application responds with:&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;CumulusUtils : No Arguments nothing to do. Exiting. See Manual.&lt;br /&gt;
                CumulusUtils Usage : utils/bin/cumulusutils.exe [args] (args case independent):&lt;br /&gt;
                  utils/bin/cumulusutils.exe&lt;br /&gt;
                      [ [[SysInfo]] ] [ [[Forecast]] ] [ [[StationMap]] ] [ [[UserReports]] ] [ [[MeteoCam]] ]&lt;br /&gt;
                      [ [[pwsFWI]] ][ [[Records - Top10|Top10]] ][ [[Graphs]] ][ [[Yadr]] ][ [[Records]] ]&lt;br /&gt;
                      [ [[NOAA]] ][ [[Records - DayRecords|DayRecords]] ][ [[AirLink]] ][ [[UserAskedData]] ]&lt;br /&gt;
                      [ [[ChartsCompiler|CompileOnly]] ] [ [[Extra Sensors|ExtraSensors]] ] [ [[Custom Logs|CustomLogs]] ] &lt;br /&gt;
                      [ [[Diary|Diary ]] ] [[CumulusUtils Runtime Library|CUlib]] ]&lt;br /&gt;
                      | [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] &lt;br /&gt;
&lt;br /&gt;
                OR (in case you use the website generator):&lt;br /&gt;
                   utils/bin/cumulusutils.exe [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
All &#039;&#039;modules&#039;&#039; mentioned in the  command will be described in their own pages here on the wiki and when available will be linked from here.&lt;br /&gt;
&lt;br /&gt;
The commands represent the &#039;&#039;modules&#039;&#039; the user is asking for to be generated. The output is generated to the utils directory in the &#039;&#039;CumulusMX&#039;&#039; directory. When asking for the generation of the website, the user not only gets all &#039;&#039;modules&#039;&#039; available but also an &#039;&#039;index.html&#039;&#039; file accompanied with some javascript infrastructure. Everything together then is the website which, when copied to the webroot, is ready for use.&lt;br /&gt;
&lt;br /&gt;
Commands to CumulusUtils - the module names - are case independent but the author prefers [https://en.wikipedia.org/wiki/Camel_case Upper Camel Case] (or Pascal Case).&lt;br /&gt;
&lt;br /&gt;
Copying to the webroot can also be done automatically through the FTP account of the user, much like &#039;&#039;CumulusMX&#039;&#039; itself copies e.g. the realtime.txt or the datafiles to the webroot. The FTP account and domain used are the same as present in the [[Cumulus.ini]] configuration. The PHP upload as exists in CMX can also be used with CUtils and it works exactly the same.&lt;br /&gt;
&lt;br /&gt;
=== Considerations with CMX configuration ===&lt;br /&gt;
Please note that CumulusUtils requires live data from CumulusMX to display what you expect. To accomplish that you need to configure CMX as follows:&lt;br /&gt;
&lt;br /&gt;
The things it is looking for are realtime.txt and realtimegauges.txt. Those are sent by CMX to the directory you configure in &#039;&#039;Settings=&amp;gt;Web/Upload Site&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Normal Interval Settings&#039;&#039;: Tick both options and set the interval time to enable interval Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Standard File settings&#039;&#039;: Disable both options (for CumulusUtils, if you have websites which use those, leave it enabled)&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Graph File Settings&#039;&#039;: Enable all (only &#039;&#039;Upload&#039;&#039;, use &#039;&#039;Create Local&#039;&#039; only when needed) except the following:&lt;br /&gt;
   &#039;&#039;availabledata.json&#039;&#039;, &#039;&#039;dailyrain.json&#039;&#039;, &#039;&#039;dailytemp.json&#039;&#039;, &#039;&#039;sunhours.json&#039;&#039;, &#039;&#039;airquality.json&#039;&#039;, &#039;&#039;extra*.json&#039;&#039;, &#039;&#039;soil*.json&#039;&#039;, &#039;&#039;user*.json&#039;&#039;,&#039;&#039;co2*.json&#039;&#039; and &#039;&#039;leaf*.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Daily Graph File Settings&#039;&#039;: Enable all except &#039;&#039;alldailydegdaydata.json&#039;&#039;, &#039;&#039;alltempsumdata.json&#039;&#039; and &#039;&#039;allchillhrsdata.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both and set interval time to enable realtime Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both &#039;&#039;realtime.txt&#039;&#039; and &#039;&#039;realtimegauges.txt&#039;&#039; for Upload, use &#039;&#039;Create Local&#039;&#039; only when needed.&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Web/Upload Site=&amp;gt;General Settings&#039;&#039;: Tick &#039;&#039;UTF-8 encoding&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For the &#039;&#039;[[ChartsCompiler]]&#039;&#039; (you may be more selective later when understanding what and how):&lt;br /&gt;
&lt;br /&gt;
After selecting the required tables you need to select the variables they may contain:&lt;br /&gt;
&lt;br /&gt;
 In Settings=&amp;gt;Station Settings=&amp;gt;Graphs=&amp;gt;Data Series Visibility: Tick all&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: You may disable some fields later when you are more acquainted with the system. Disabling tables and field can be especially useful when you are worried about size of transfer and provider limits.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the &#039;&#039;[[ChartsCompiler]]&#039;&#039;, you may need the &#039;&#039;[[UserAskedData]]&#039;&#039; command to CumulusUtils. See the [[ChartsCompiler]].&lt;br /&gt;
&lt;br /&gt;
You may want to read about and understand the [[Website_Generator#CumulusRealTimeLocation|&#039;&#039;CumulusRealTimeLocation&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
=== When and why to run ===&lt;br /&gt;
Running CumulusUtils results in output which represents a static view of the data in a table or graphic format for display on your website (it may even create a complete website). The fact that the output is a static view requires the output to be regenerated when new data is available. Rerunning CumulusUtils is also required when you change anything in the configuration and can&#039;t wait to see that change reflected on the site. In general: changes in data and configuration require a rerun.&lt;br /&gt;
&lt;br /&gt;
Reruns for changes of data are typically once  per day, just after rollover time. In that sense it is like running a new query.&lt;br /&gt;
&lt;br /&gt;
There are some exceptions to the daily rule: Sysinfo and [[UserAskedData]]&lt;br /&gt;
#Sysinfo: a rerun with Sysinfo is required when you wish to update the system information which can be a requirement from every 10 minutes to once per day&lt;br /&gt;
#[[UserAskedData]]: provides data for charts which are otherwise not available. Again this is at a user desired frequency which is recommended to be the FTP frequency defined in Cumulus.ini (parameter &#039;&#039;UpdateInterval&#039;&#039; in section [FTP site])&lt;br /&gt;
&lt;br /&gt;
==== RPi: Using crontab ====&lt;br /&gt;
Automating the run of CumulusUtils on the Raspberry Pi is typically done through [https://man7.org/linux/man-pages/man5/crontab.5.html &#039;&#039;crontab&#039;&#039;]. Below is the crontab of the author of CumulusUtils to be used as an &#039;&#039;&#039;example&#039;&#039;&#039;! &lt;br /&gt;
&lt;br /&gt;
===== For dotnet =====&lt;br /&gt;
  05 1 * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll thrifty website&lt;br /&gt;
  1-51/10 * * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll sysinfo UserAskedData UserReports&lt;br /&gt;
&lt;br /&gt;
===== For mono =====&lt;br /&gt;
  15 1 * * *  cd /home/CumulusMX; utils/bin/cumulusutils.exe thrifty website&lt;br /&gt;
  1-51/10 * * * *  cd /home/CumulusMX; utils/bin/cumulusutils.exe sysinfo UserAskedData UserReport&lt;br /&gt;
&lt;br /&gt;
==== Windows: Using the scheduler ====&lt;br /&gt;
===== How to create a scheduled task =====&lt;br /&gt;
Prior to doing this we need to also create the script that the task will use.&lt;br /&gt;
Open notepad or your favourite text editor (preferred use: Notepad++).&lt;br /&gt;
&lt;br /&gt;
You can copy paste the below and save as cumulusutils.bat&lt;br /&gt;
(It can be a filename of choice but must have extension of .bat, if using windows notepad, underneath the File name: option, will need to set Save as type: option to All Files (*.*). This way when the File name: is set as cumulusutils.bat it will save it as that and not cumulusutils.bat.txt)&lt;br /&gt;
====== Batch file code of cumulusutils.bat ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v6 and below (running under mono):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd\&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;/br&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;/br&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX C:\CumulusMX\utils\bin\cumulusutils.exe Website&amp;lt;/br&amp;gt;&lt;br /&gt;
 :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   exit&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: The command shown here is &#039;&#039;Website&#039;&#039;. The user can put any command he likes in here (with or without &#039;&#039;Thrifty&#039;&#039;) depending on what he wants to achieve. Possibly he has to create multiple tasks (e.g. UserAskedData specifically runs on a higher frequency than website). These commands then require their own batch files.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v7 and up (running under dotnet):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd\&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;br/&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;br/&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX dotnet C:\CumulusMX\utils\bin\cumulusutils.dll Website&amp;lt;br/&amp;gt;&lt;br /&gt;
 :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   exit&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Task creation process =====&lt;br /&gt;
Within the Task Scheduler Library&lt;br /&gt;
#Create “New Task…” (actions pane), or right click middle pane and choose “Create New Task” (not Create Basic Task).&lt;br /&gt;
##On the General tab of the new task (General information about the task).&lt;br /&gt;
##Set desired name for the Task (Example name CumulusUtils, can also set description if desired).&lt;br /&gt;
##Click “Change User or Group…”.&lt;br /&gt;
##Type in here the word system (click on “Check Names” if desired, to confirm it is correct and it should then display as SYSTEM in capitals).&lt;br /&gt;
##Click OK to use this user account.&lt;br /&gt;
##Note in Security options part of the new task creation process it should now state under. When running the task, use the following user account: NT AUTHORITY\SYSTEM &amp;lt;br/&amp;gt;(Convenient reason for this is that when the task runs, it runs is running as system account and so is not seen popping up on screen when it is running.)&lt;br /&gt;
##“Configure for:” not required to be changed, can be changed to version of operating system.&lt;br /&gt;
#On the Triggers tab of the new task (Setting when and how often the task runs).&lt;br /&gt;
##Click on “New”, to create a new launch time and frequency of the task.&lt;br /&gt;
##Begin the task: option should default to “On a schedule”, this is the desired option.&lt;br /&gt;
##Under the settings section choose “Daily” option.&lt;br /&gt;
##Start: date can be left as is, set the desired start time of the task. Set to “12:00:15 am”.&amp;lt;/br&amp;gt;(Reason for this setting with 15 second delay is trying not to compete with CumulusMX upload tasks).&lt;br /&gt;
##In the advanced part, enable Repeat task every: and choose desired interval.&amp;lt;/br&amp;gt;With the option for a duration of: default setting of “1 day” is used.&lt;br /&gt;
##Set Stop task if it runs longer than: to “30 minutes” (if the task runs longer than the time set, it is stopped. This applies to the individually triggered task, and not the overall routine of this scheduled task, with it’s repeating trigger times).&lt;br /&gt;
##Confirm that the Enabled options is ticked to make active this trigger routine.&lt;br /&gt;
#On the Actions tab (Setting what the task is to do).&lt;br /&gt;
##Click on “New…” to create a new action.&lt;br /&gt;
##Action: should default to “Start a program” this is correct.&lt;br /&gt;
##In the Program/Script: part, type the path to the program to run, or click “Browse” to navigate and select the program to run. (example C:\CumulusMX\batch_files\cumulusutils.bat).&lt;br /&gt;
#On the Conditions tab (setting other conditions).&lt;br /&gt;
##Under Power, untick Start the task only if the computer us on AC power&amp;lt;/br&amp;gt;(This then enables the task to start and run even if on battery. It will automatically untick Stop if the computers switches to batter power.)&lt;br /&gt;
#On the Settings tab (additional other settings for the task).&lt;br /&gt;
##Confirm ticked for Allow task to be run on demand.&lt;br /&gt;
##By default Stop the task if it runs longer than: is already ticket and set as 3 days.Change to 1 hour (the behaviour here is the same as instruction 3.f.)&lt;br /&gt;
##Confirm ticked for If the running ask does not end when requested, for it to stop.&lt;br /&gt;
##Default setting of “Do not start a new instance” Is OK.&lt;br /&gt;
#Click on OK down the bottom to complete and commit the creation of this new task.&lt;br /&gt;
&lt;br /&gt;
===== Customisation =====&lt;br /&gt;
One can also customise/fine tune the task further by exporting it, default export format is XML. Then can edit in favourite text editor and reimport when done. May be useful in particular for fine tuning the repetition times of the task.&lt;br /&gt;
&lt;br /&gt;
== Additional remarks ==&lt;br /&gt;
&lt;br /&gt;
#(on NOT Windows) When mono is already active (as daemon or from command line in another process) you can start any mono executable without having it prepended by the mono command. As normally (if you did not uninstall it) xsp4 is running as a daemon, mono is always available so you can run mono executables as normal linux executables. You won&#039;t notice the difference. However if you don&#039;t have the x bit set, you get access refused when trying to execute. Without the x bit set you have to prepend mono as in: &#039;&#039;mono utils/bin/cumulusutils.exe&#039;&#039;. Then it executes without the x bit set because then it is an argument to the mono command. &lt;br /&gt;
#CumulusUtils is written in C#, HTML and javascript. All HTML and javascript is embedded in the C# code and generated on execution of &#039;&#039;CumulusUtils&#039;&#039;. The cumuluscharts.txt charts library was based on the cumuluscharts.js originally distributed with &#039;&#039;CumulusMX&#039;&#039;, probably the version a bit before April 2020 and has been modified since. With the appearance of the [[ChartsCompiler]] the name cumuluscharts.txt has been preserved but the technique of creating the charts has been changed.&lt;br /&gt;
#As CumulusUtils itself runs in the Cumulus directory, the data directory (data) is one level below. CumulusUtils currently uses - a copy of - dayfile.txt, the monthly logfiles and incidentally the alltime.ini file. It also takes information from Cumulus.ini.  All output is written to the utils/ subdirectory. All logs are created in the utils/utilslog/ subdirectory. It also uses the AirLink.log and the ExtraLog files in a similar way when the user has such devices.&lt;br /&gt;
#The output of CumulusUtils consists of UTF8 encoded text files. They can be brought to your website manually through some ftp tool (e.g. WinSCP) or by using the Extra Web Files functionality in the setting of Cumulus (deprecated) or by using the [[FTP facility]]. &lt;br /&gt;
#CumulusUtils can output for many languages. See the specific page on [[Language in CumulusUtils|language in CumulusUtils]].&lt;br /&gt;
#Development of CumulusUtils started in 9&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; of August 2019 with an initial commit of the Top10 written in C. Development changed rapidly to C# with an initial commit of Top10 on November 19 2019 of version  0.7.0. The rest  of the history can be read in the [[Release Notes|release notes]].&lt;br /&gt;
#Users can present themselves on the CumulusUtils [[Map - Users of CumulusUtils|usermap]]. Although optional for modules users, the author sees it as payment for the usage of the tool, so please put yourself on the map. For website users it is automatic and obligatory. The URL needs to be filled in by yourself in the inifile. When not a complete website, please fill in the URL to the page you use CUtils for.&lt;br /&gt;
#In case of problems there exists [[Errorlogging]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: comments to this series of articles is welcome either by using the Talk feature of the Wiki for that page, direct edit of the article (request an account) or by contacting the author of CumulusUtils [https://cumulus.hosiene.co.uk/memberlist.php?mode=viewprofile&amp;amp;u=9016 HansR] on the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44 forum] or through PM.&lt;br /&gt;
&lt;br /&gt;
[[Category:WebTools]][[Category:User Contributions]][[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12351</id>
		<title>CumulusUtils</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12351"/>
		<updated>2026-02-22T19:01:07Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This is the first page of the CumulusUtils Wiki. From here you should be able to find everything you need to know for this tool.&lt;br /&gt;
&lt;br /&gt;
If needed you can always go to the CumulusUtils Category page (see bottom of this page).&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
This paragraph describes what is required to use CumuluUtils (To be modified/extended by user experience).&lt;br /&gt;
#A working CumulusMX environment on Windows, Linux (RPi) or MacOS&lt;br /&gt;
#On Linux (and probably MacOS too) the user must verify whether [[SysInfo#Introduction|the application &#039;&#039;lshw&#039;&#039; has been installed]].&lt;br /&gt;
#NOTE: no experience by the author on MacOS exists so be prepared to communicate&lt;br /&gt;
#For the &#039;&#039;[[Charts_-_Misc_charts|Miscellaneous Charts]]&#039;&#039; more data - a year starting on jan 1 - is required to make these useful&lt;br /&gt;
#From CMX4 and CMX5 change in the handling of datetime in the logs. Corresponding CUtils versions are available. It is advised to upgrade to the last version of CMX/CUtils as fast as possible because of support.&lt;br /&gt;
#For longer data series it will be useful to run the [[Software#Create_Missing|CMX supporting application &#039;&#039;CreateMissing.exe&#039;&#039;]] beforehand.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
The goal of &#039;&#039;CumulusUtils&#039;&#039; (abbr: &#039;&#039;Cutils&#039;&#039; or &#039;&#039;CUtils&#039;&#039;) is to facilitate website creation for users of CumulusMX without exposure to coding in e.g. PHP or javascript. Having a meteo-website should not be privileged to users with great IT-skills. Making charts should not be demanding for programming skills in SQL or making it otherwise impossible to create charts without diving deep into the technique involved in CumulusMX (which actually is also the case with SQL). Note that this does not  mean you can&#039;t use IT skills: the user configurable menu offers an opening to expand as far as you wish.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; positions itself as a configurable application for which the understanding of how to run it and how to configure it is the most important thing to know. For configuration &#039;&#039;CumulusUtils&#039;&#039; uses [[Cumulusutils.ini|&#039;&#039;cumulusutils.ini&#039;&#039;]] file which resides in the CumulusMX directory. If that file does not exist, it will be created. All other files related to &#039;&#039;CumulusUtils&#039;&#039; are in the utils directory.&lt;br /&gt;
&lt;br /&gt;
The charts are created using [https://www.highcharts.com/ HighCharts] using their [https://shop.highsoft.com/highsoft/form/noncommercialform non-commercial license]. If you want to use the charts or the [[Website Generator]] of &#039;&#039;CumulusUtils&#039;&#039;, please make yourself acquainted with this license.&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
The user is assumed to have basic computer skills and knowledge about the Operating System and directory structure. The user must also be aware of the directory infrastructure of CumulusMX and needs to be aware  of the meaning of the terms &#039;&#039;webroot&#039;&#039; and &#039;&#039;FTProot&#039;&#039; and &#039;&#039;Working Directory&#039;&#039;. The user should be able to understand and edit the ini files (both from &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;CumulusUtils&#039;&#039;). The user should understand the basic functioning of &#039;&#039;CumulusMX&#039;&#039; which means the correct availability of &#039;&#039;CumulusMX&#039;&#039; is a precondition for using &#039;&#039;CumulusUtils&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Some output files can be used with &#039;&#039;Cumulus 1&#039;&#039; but the charting possibilities rely on the availability of the JSON datafiles of &#039;&#039;CumulusMX&#039;&#039;. Therefore the use of &#039;&#039;CumulusUtils&#039;&#039; in combination with &#039;&#039;Cumulus 1&#039;&#039; is limited. The [[Website Generator|website generator]] in combination with &#039;&#039;Cumulus 1&#039;&#039; is not advised.&lt;br /&gt;
&lt;br /&gt;
== Output ==&lt;br /&gt;
The output of &#039;&#039;CumulusUtils&#039;&#039; consists of mainly of text files (extension: .txt) which are generated on demand. In Cutils idiom [[modules|&#039;&#039;modules&#039;&#039;]]. These text files can be incorporated in a website the user has or is making. Ultimately when using the [[Website Generator|website generator]] feature,  &#039;&#039;CumulusUtils&#039;&#039; generates a complete website, uploaded to the user domain and extendable through a [[User Defined Menu|user defined menu]]. When using the [[ChartsCompiler|&#039;&#039;ChartsCompiler&#039;&#039;]], the user can define his own charts and place the output where he wants just like other &#039;&#039;modules&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
All output of CumulusUtils is written [[Encoding_in_CumulusUtils|as UTF8 encoded text  files]].&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;CumulusUtils&#039;&#039; is available in a distribution which can be downloaded from the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44&amp;amp;t=17998 forum]. In the CumulusMX directory the user must create a directory utils (case dependent) and must copy the files of the distribution (including the subdirectories) to that directory. &lt;br /&gt;
# Then, on the domain for the website, the user needs to make two directories in the webroot: &#039;lib&#039; and &#039;css&#039;. In addition the distribution directory CUicons must be copied as a whole - with contents - to the webroot. &lt;br /&gt;
# Updating &#039;&#039;CumulusUtils&#039;&#039; is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the  utils directory.&lt;br /&gt;
# &amp;lt;s&amp;gt;NOTE a seemingly important issue: the datafiles (the naming and the contents) are dependent for their format on the locale / country setting of your machine. If you install and run from scratch and do not bother CMX will take the country setting from the settings of the computer. You may also give the country setting on the commandline when starting CMX. However, it is important to know that CumulusUtils does not handle datafiles with mixed languages and produces lots of errors. When starting with a new install this is not a big deal. But if you have years of old data which you wish to analyse as well you must consider carefully which country setting of CMX is required. Note that the language setting of CumulusUtils  is for display/language handling only and does not affect the reading of the data in any way apart for the monthly log file name. If you use a different locale than the one you use for CMX, the please fill in the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039; (section [General]) with the abbreviated filenames of the locale you use for CMX.&amp;lt;/s&amp;gt;&lt;br /&gt;
# From version 4, the logfiles are written as invariant and the above striked through note has become invalid&lt;br /&gt;
# From version 4.7 (.NET 10) there are changes in the database which require CMX to run before CUtils 8.2.0 can run. &lt;br /&gt;
&lt;br /&gt;
When installed you are ready to run. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
So after installing you have:&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the CumulusMX machine is:&lt;br /&gt;
  utils			(contents in the distribution)&lt;br /&gt;
    |--- bin		(in the distribution (from 4.7.0 and up))&lt;br /&gt;
    |--- utilslog	(Created by CumulusUtils)&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the Website is:&lt;br /&gt;
&lt;br /&gt;
  WebRoot		(Content uploaded by CumulusUtils)&lt;br /&gt;
    |--- lib		(JavaScript libraries, uploaded by CumulusUtils during a run)&lt;br /&gt;
    |--- css		(css files, uploaded by CumulusUtils during a run)&lt;br /&gt;
    |--- CUicons        (required to be manually copied once)&lt;br /&gt;
&lt;br /&gt;
=== Updating CumulusUtils ===&lt;br /&gt;
Updating CumulusUtils is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the utils directory. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
=== Informational files ===&lt;br /&gt;
In the distribution there are some files which are examples or defaults. When used, rename them (and possibly copy manually to the webroot).&lt;br /&gt;
No automatic copying of these files is done by CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
Beside the libraries the distribution contains:&lt;br /&gt;
#CUserAbout-example.txt : as an example of the user about file - when used rename to &#039;&#039;CUserAbout.txt&#039;&#039;&lt;br /&gt;
#CutilsMenu-example-for-use.def : as an example of the menu structure - when used rename to &#039;&#039;CutilsMenu.def&#039;&#039;&lt;br /&gt;
#CutilsCharts-default-for-use.def : when used rename to &#039;&#039;CutilsCharts.def&#039;&#039;&lt;br /&gt;
#CutilsCharts-examples.def : not intended for direct use, contains some more elaborate examples of the [[ChartsCompiler]] possibilities&lt;br /&gt;
&lt;br /&gt;
To avoid confusion it is left to the user to edit and maintain the files for use either on the website or on the CumulusMX machine.&lt;br /&gt;
&lt;br /&gt;
When creating website the file &#039;&#039;CutilsHead.def&#039;&#039; may have importance to you. See [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
=== Manually installing without FTP ===&lt;br /&gt;
NOTE: Not using the automatic upload system is disadvised. Because CumulusUtils is datadriven it requires the JSON files and the realtime.txt and realtimegauges.txt from CMX. Besides those, if you are using the UserAskedData feature of CumulusUtils there will be additional JSON files required for the server and without the upload module your will need a way to get them there. There is no copy feature like CMX has as CumulusUtils is designed as a website tool and an upload method is implicitely assumed present. However, manual handling can be done but is not advised.&lt;br /&gt;
&lt;br /&gt;
All required installation and generated files are present in the utils directory and copied with &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; to the server during a run of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t use &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; you will have to copy manually.&lt;br /&gt;
&lt;br /&gt;
=== Files involved ===&lt;br /&gt;
The list of installation files required and their destination is below. The generated Javascript files are included in the table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Distribution File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| index.html || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges.js || &amp;lt;webroot&amp;gt;/lib || Despite the same name this file is very different from the one in CMX&lt;br /&gt;
|-&lt;br /&gt;
| CUlanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsDefaults.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| suncalc.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUtween.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUsteelseries.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.rose.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.common.core.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges-ss.css || &amp;lt;webroot&amp;gt;/css&lt;br /&gt;
|-&lt;br /&gt;
! Generated File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| cumulusutils.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsLanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| *.txt || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsRecentdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsDailydata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataRECENT.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataDAILY.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataALL.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Realtime Files !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| realtime.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| realtimegauges.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| airlinkrealtime.txt || &amp;lt;webroot&amp;gt; || When the AirLink device is configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| customlogsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| meteocamrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|}&lt;br /&gt;
[1] : These files may be served by CMX in another directory (just like the CMX JSON data files). In that case the relative location is specified in the  inifile parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[2] : these files are generated in the utils directory and need to be configured as Extra Webfiles in CMX with the ticks: Realtime, Process and FTP. Note that the generated file has the webtags and remains local, the processed files contains the values and must be send to the &amp;lt;webroot&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Running CumulusUtils ==&lt;br /&gt;
&lt;br /&gt;
CumulusUtils is - up to v6.x.y - a [https://www.mono-project.com/ &#039;&#039;mono&#039;&#039;] executable. &lt;br /&gt;
&lt;br /&gt;
From v7.0.0 and up it runs under .NET 8 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this  link when on Linux&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
From v8.2.0 and up it runs under .NET 10 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this link when on Linux&#039;&#039;] (and this has changes to the database which require CMX to run before CUtils can successfully run).&lt;br /&gt;
&lt;br /&gt;
All environments are very different and not interchangeable. However running CumulusUtils is pretty similar on all environments and mono and dotnet (8 and 10) can co-exist on the same machine. See the CMX installation on how to install either mono or dotnet. CumulusUtils assumes the correct installation of either environment.&lt;br /&gt;
&lt;br /&gt;
Mono is an open source implementation of Microsoft&#039;s .NET Framework based on the ECMA standards for C# and the Common Language Runtime. &lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; runs on any operating system CumulusMX runs on and it &#039;&#039;&#039;MUST&#039;&#039;&#039; run in the CumulusMX directory (as &#039;&#039;working directory&#039;&#039;).&lt;br /&gt;
Running &#039;&#039;CumulusUtils&#039;&#039; is done from the commandline in a command window (under any OS).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; takes one or more commandline parameters (in short: commands) and must be like (see NOTE 1 below; square brackets means &#039;&#039;optional&#039;&#039; so DON&#039;T TYPE THEM):&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;utils/bin/cumulusutils.exe [command]&#039;&#039;  (the &#039;&#039;mono&#039;&#039; syntax - this assumes mono is already active)&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;dotnet utils/bin/cumulusutils.dll [command]&#039;&#039;  (the &#039;&#039;.NET&#039;&#039; syntax - &#039;&#039;dotnet&#039;&#039; is obligatory on the commandline. Note the &#039;&#039;&#039;dll&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Below is described for &#039;&#039;mono&#039;&#039;, when using .NET, please change the command as above. Note you will have to carry this on in scripts as well. Using the dotnet command in crontab requires using the explicit path to the dotnet command or defining the PATH environment variable in the crontab script which does not know the environment (a bit awkward).&lt;br /&gt;
&lt;br /&gt;
If no commands are given the application responds with:&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;CumulusUtils : No Arguments nothing to do. Exiting. See Manual.&lt;br /&gt;
                CumulusUtils Usage : utils/bin/cumulusutils.exe [args] (args case independent):&lt;br /&gt;
                  utils/bin/cumulusutils.exe&lt;br /&gt;
                      [ [[SysInfo]] ] [ [[Forecast]] ] [ [[StationMap]] ] [ [[UserReports]] ] [ [[MeteoCam]] ]&lt;br /&gt;
                      [ [[pwsFWI]] ][ [[Records - Top10|Top10]] ][ [[Graphs]] ][ [[Yadr]] ][ [[Records]] ]&lt;br /&gt;
                      [ [[NOAA]] ][ [[Records - DayRecords|DayRecords]] ][ [[AirLink]] ][ [[UserAskedData]] ]&lt;br /&gt;
                      [ [[ChartsCompiler|CompileOnly]] ] [ [[Extra Sensors|ExtraSensors]] ] [ [[Custom Logs|CustomLogs]] ] &lt;br /&gt;
                      [ [[Diary|Diary ]] ] [[CumulusUtils Runtime Library|CUlib]] ]&lt;br /&gt;
                      | [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] &lt;br /&gt;
&lt;br /&gt;
                OR (in case you use the website generator):&lt;br /&gt;
                   utils/bin/cumulusutils.exe [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
All &#039;&#039;modules&#039;&#039; mentioned in the  command will be described in their own pages here on the wiki and when available will be linked from here.&lt;br /&gt;
&lt;br /&gt;
The commands represent the &#039;&#039;modules&#039;&#039; the user is asking for to be generated. The output is generated to the utils directory in the &#039;&#039;CumulusMX&#039;&#039; directory. When asking for the generation of the website, the user not only gets all &#039;&#039;modules&#039;&#039; available but also an &#039;&#039;index.html&#039;&#039; file accompanied with some javascript infrastructure. Everything together then is the website which, when copied to the webroot, is ready for use.&lt;br /&gt;
&lt;br /&gt;
Commands to CumulusUtils - the module names - are case independent but the author prefers [https://en.wikipedia.org/wiki/Camel_case Upper Camel Case] (or Pascal Case).&lt;br /&gt;
&lt;br /&gt;
Copying to the webroot can also be done automatically through the FTP account of the user, much like &#039;&#039;CumulusMX&#039;&#039; itself copies e.g. the realtime.txt or the datafiles to the webroot. The FTP account and domain used are the same as present in the [[Cumulus.ini]] configuration. The PHP upload as exists in CMX can also be used with CUtils and it works exactly the same.&lt;br /&gt;
&lt;br /&gt;
=== Considerations with CMX configuration ===&lt;br /&gt;
Please note that CumulusUtils requires live data from CumulusMX to display what you expect. To accomplish that you need to configure CMX as follows:&lt;br /&gt;
&lt;br /&gt;
The things it is looking for are realtime.txt and realtimegauges.txt. Those are sent by CMX to the directory you configure in &#039;&#039;Settings=&amp;gt;Web/Upload Site&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Normal Interval Settings&#039;&#039;: Tick both options and set the interval time to enable interval Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Standard File settings&#039;&#039;: Disable both options (for CumulusUtils, if you have websites which use those, leave it enabled)&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Graph File Settings&#039;&#039;: Enable all (only &#039;&#039;Upload&#039;&#039;, use &#039;&#039;Create Local&#039;&#039; only when needed) except the following:&lt;br /&gt;
   &#039;&#039;availabledata.json&#039;&#039;, &#039;&#039;dailyrain.json&#039;&#039;, &#039;&#039;dailytemp.json&#039;&#039;, &#039;&#039;sunhours.json&#039;&#039;, &#039;&#039;airquality.json&#039;&#039;, &#039;&#039;extra*.json&#039;&#039;, &#039;&#039;soil*.json&#039;&#039;, &#039;&#039;user*.json&#039;&#039;,&#039;&#039;co2*.json&#039;&#039; and &#039;&#039;leaf*.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Daily Graph File Settings&#039;&#039;: Enable all except &#039;&#039;alldailydegdaydata.json&#039;&#039;, &#039;&#039;alltempsumdata.json&#039;&#039; and &#039;&#039;allchillhrsdata.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both and set interval time to enable realtime Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both &#039;&#039;realtime.txt&#039;&#039; and &#039;&#039;realtimegauges.txt&#039;&#039; for Upload, use &#039;&#039;Create Local&#039;&#039; only when needed.&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Web/Upload Site=&amp;gt;General Settings&#039;&#039;: Tick &#039;&#039;UTF-8 encoding&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For the &#039;&#039;[[ChartsCompiler]]&#039;&#039; (you may be more selective later when understanding what and how):&lt;br /&gt;
&lt;br /&gt;
After selecting the required tables you need to select the variables they may contain:&lt;br /&gt;
&lt;br /&gt;
 In Settings=&amp;gt;Station Settings=&amp;gt;Graphs=&amp;gt;Data Series Visibility: Tick all&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: You may disable some fields later when you are more acquainted with the system. Disabling tables and field can be especially useful when you are worried about size of transfer and provider limits.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the &#039;&#039;[[ChartsCompiler]]&#039;&#039;, you may need the &#039;&#039;[[UserAskedData]]&#039;&#039; command to CumulusUtils. See the [[ChartsCompiler]].&lt;br /&gt;
&lt;br /&gt;
You may want to read about and understand the [[Website_Generator#CumulusRealTimeLocation|&#039;&#039;CumulusRealTimeLocation&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
=== When and why to run ===&lt;br /&gt;
Running CumulusUtils results in output which represents a static view of the data in a table or graphic format for display on your website (it may even create a complete website). The fact that the output is a static view requires the output to be regenerated when new data is available. Rerunning CumulusUtils is also required when you change anything in the configuration and can&#039;t wait to see that change reflected on the site. In general: changes in data and configuration require a rerun.&lt;br /&gt;
&lt;br /&gt;
Reruns for changes of data are typically once  per day, just after rollover time. In that sense it is like running a new query.&lt;br /&gt;
&lt;br /&gt;
There are some exceptions to the daily rule: Sysinfo and [[UserAskedData]]&lt;br /&gt;
#Sysinfo: a rerun with Sysinfo is required when you wish to update the system information which can be a requirement from every 10 minutes to once per day&lt;br /&gt;
#[[UserAskedData]]: provides data for charts which are otherwise not available. Again this is at a user desired frequency which is recommended to be the FTP frequency defined in Cumulus.ini (parameter &#039;&#039;UpdateInterval&#039;&#039; in section [FTP site])&lt;br /&gt;
&lt;br /&gt;
==== RPi: Using crontab ====&lt;br /&gt;
Automating the run of CumulusUtils on the Raspberry Pi is typically done through [https://man7.org/linux/man-pages/man5/crontab.5.html &#039;&#039;crontab&#039;&#039;]. Below is the crontab of the author of CumulusUtils to be used as an &#039;&#039;&#039;example&#039;&#039;&#039;! &lt;br /&gt;
&lt;br /&gt;
===== For dotnet =====&lt;br /&gt;
  05 1 * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll thrifty website&lt;br /&gt;
  1-51/10 * * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll sysinfo UserAskedData UserReports&lt;br /&gt;
&lt;br /&gt;
===== For mono =====&lt;br /&gt;
  15 1 * * *  cd /home/CumulusMX; utils/bin/cumulusutils.exe thrifty website&lt;br /&gt;
  1-51/10 * * * *  cd /home/CumulusMX; utils/bin/cumulusutils.exe sysinfo UserAskedData UserReport&lt;br /&gt;
&lt;br /&gt;
==== Windows: Using the scheduler ====&lt;br /&gt;
===== How to create a scheduled task =====&lt;br /&gt;
Prior to doing this we need to also create the script that the task will use.&lt;br /&gt;
Open notepad or your favourite text editor (preferred use: Notepad++).&lt;br /&gt;
&lt;br /&gt;
You can copy paste the below and save as cumulusutils.bat&lt;br /&gt;
(It can be a filename of choice but must have extension of .bat, if using windows notepad, underneath the File name: option, will need to set Save as type: option to All Files (*.*). This way when the File name: is set as cumulusutils.bat it will save it as that and not cumulusutils.bat.txt)&lt;br /&gt;
====== Batch file code of cumulusutils.bat ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v6 and below (running under mono):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd\&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;/br&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;/br&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX C:\CumulusMX\utils\bin\cumulusutils.exe Website&amp;lt;/br&amp;gt;&lt;br /&gt;
 :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   exit&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: The command shown here is &#039;&#039;Website&#039;&#039;. The user can put any command he likes in here (with or without &#039;&#039;Thrifty&#039;&#039;) depending on what he wants to achieve. Possibly he has to create multiple tasks (e.g. UserAskedData specifically runs on a higher frequency than website). These commands then require their own batch files.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v7 and up (running under dotnet):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd\&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;br/&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;br/&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX dotnet C:\CumulusMX\utils\bin\cumulusutils.dll Website&amp;lt;br/&amp;gt;&lt;br /&gt;
 :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   exit&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Task creation process =====&lt;br /&gt;
Within the Task Scheduler Library&lt;br /&gt;
#Create “New Task…” (actions pane), or right click middle pane and choose “Create New Task” (not Create Basic Task).&lt;br /&gt;
##On the General tab of the new task (General information about the task).&lt;br /&gt;
##Set desired name for the Task (Example name CumulusUtils, can also set description if desired).&lt;br /&gt;
##Click “Change User or Group…”.&lt;br /&gt;
##Type in here the word system (click on “Check Names” if desired, to confirm it is correct and it should then display as SYSTEM in capitals).&lt;br /&gt;
##Click OK to use this user account.&lt;br /&gt;
##Note in Security options part of the new task creation process it should now state under. When running the task, use the following user account: NT AUTHORITY\SYSTEM &amp;lt;br/&amp;gt;(Convenient reason for this is that when the task runs, it runs is running as system account and so is not seen popping up on screen when it is running.)&lt;br /&gt;
##“Configure for:” not required to be changed, can be changed to version of operating system.&lt;br /&gt;
#On the Triggers tab of the new task (Setting when and how often the task runs).&lt;br /&gt;
##Click on “New”, to create a new launch time and frequency of the task.&lt;br /&gt;
##Begin the task: option should default to “On a schedule”, this is the desired option.&lt;br /&gt;
##Under the settings section choose “Daily” option.&lt;br /&gt;
##Start: date can be left as is, set the desired start time of the task. Set to “12:00:15 am”.&amp;lt;/br&amp;gt;(Reason for this setting with 15 second delay is trying not to compete with CumulusMX upload tasks).&lt;br /&gt;
##In the advanced part, enable Repeat task every: and choose desired interval.&amp;lt;/br&amp;gt;With the option for a duration of: default setting of “1 day” is used.&lt;br /&gt;
##Set Stop task if it runs longer than: to “30 minutes” (if the task runs longer than the time set, it is stopped. This applies to the individually triggered task, and not the overall routine of this scheduled task, with it’s repeating trigger times).&lt;br /&gt;
##Confirm that the Enabled options is ticked to make active this trigger routine.&lt;br /&gt;
#On the Actions tab (Setting what the task is to do).&lt;br /&gt;
##Click on “New…” to create a new action.&lt;br /&gt;
##Action: should default to “Start a program” this is correct.&lt;br /&gt;
##In the Program/Script: part, type the path to the program to run, or click “Browse” to navigate and select the program to run. (example C:\CumulusMX\batch_files\cumulusutils.bat).&lt;br /&gt;
#On the Conditions tab (setting other conditions).&lt;br /&gt;
##Under Power, untick Start the task only if the computer us on AC power&amp;lt;/br&amp;gt;(This then enables the task to start and run even if on battery. It will automatically untick Stop if the computers switches to batter power.)&lt;br /&gt;
#On the Settings tab (additional other settings for the task).&lt;br /&gt;
##Confirm ticked for Allow task to be run on demand.&lt;br /&gt;
##By default Stop the task if it runs longer than: is already ticket and set as 3 days.Change to 1 hour (the behaviour here is the same as instruction 3.f.)&lt;br /&gt;
##Confirm ticked for If the running ask does not end when requested, for it to stop.&lt;br /&gt;
##Default setting of “Do not start a new instance” Is OK.&lt;br /&gt;
#Click on OK down the bottom to complete and commit the creation of this new task.&lt;br /&gt;
&lt;br /&gt;
===== Customisation =====&lt;br /&gt;
One can also customise/fine tune the task further by exporting it, default export format is XML. Then can edit in favourite text editor and reimport when done. May be useful in particular for fine tuning the repetition times of the task.&lt;br /&gt;
&lt;br /&gt;
== Additional remarks ==&lt;br /&gt;
&lt;br /&gt;
#(on NOT Windows) When mono is already active (as daemon or from command line in another process) you can start any mono executable without having it prepended by the mono command. As normally (if you did not uninstall it) xsp4 is running as a daemon, mono is always available so you can run mono executables as normal linux executables. You won&#039;t notice the difference. However if you don&#039;t have the x bit set, you get access refused when trying to execute. Without the x bit set you have to prepend mono as in: &#039;&#039;mono utils/bin/cumulusutils.exe&#039;&#039;. Then it executes without the x bit set because then it is an argument to the mono command. &lt;br /&gt;
#CumulusUtils is written in C#, HTML and javascript. All HTML and javascript is embedded in the C# code and generated on execution of &#039;&#039;CumulusUtils&#039;&#039;. The cumuluscharts.txt charts library was based on the cumuluscharts.js originally distributed with &#039;&#039;CumulusMX&#039;&#039;, probably the version a bit before April 2020 and has been modified since. With the appearance of the [[ChartsCompiler]] the name cumuluscharts.txt has been preserved but the technique of creating the charts has been changed.&lt;br /&gt;
#As CumulusUtils itself runs in the Cumulus directory, the data directory (data) is one level below. CumulusUtils currently uses - a copy of - dayfile.txt, the monthly logfiles and incidentally the alltime.ini file. It also takes information from Cumulus.ini.  All output is written to the utils/ subdirectory. All logs are created in the utils/utilslog/ subdirectory. It also uses the AirLink.log and the ExtraLog files in a similar way when the user has such devices.&lt;br /&gt;
#The output of CumulusUtils consists of UTF8 encoded text files. They can be brought to your website manually through some ftp tool (e.g. WinSCP) or by using the Extra Web Files functionality in the setting of Cumulus (deprecated) or by using the [[FTP facility]]. &lt;br /&gt;
#CumulusUtils can output for many languages. See the specific page on [[Language in CumulusUtils|language in CumulusUtils]].&lt;br /&gt;
#Development of CumulusUtils started in 9&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; of August 2019 with an initial commit of the Top10 written in C. Development changed rapidly to C# with an initial commit of Top10 on November 19 2019 of version  0.7.0. The rest  of the history can be read in the [[Release Notes|release notes]].&lt;br /&gt;
#Users can present themselves on the CumulusUtils [[Map - Users of CumulusUtils|usermap]]. Although optional for modules users, the author sees it as payment for the usage of the tool, so please put yourself on the map. For website users it is automatic and obligatory. The URL needs to be filled in by yourself in the inifile. When not a complete website, please fill in the URL to the page you use CUtils for.&lt;br /&gt;
#In case of problems there exists [[Errorlogging]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: comments to this series of articles is welcome either by using the Talk feature of the Wiki for that page, direct edit of the article (request an account) or by contacting the author of CumulusUtils [https://cumulus.hosiene.co.uk/memberlist.php?mode=viewprofile&amp;amp;u=9016 HansR] on the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44 forum] or through PM.&lt;br /&gt;
&lt;br /&gt;
[[Category:WebTools]][[Category:User Contributions]][[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12350</id>
		<title>CumulusUtils</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=CumulusUtils&amp;diff=12350"/>
		<updated>2026-02-22T18:58:06Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This is the first page of the CumulusUtils Wiki. From here you should be able to find everything you need to know for this tool.&lt;br /&gt;
&lt;br /&gt;
If needed you can always go to the CumulusUtils Category page (see bottom of this page).&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
This paragraph describes what is required to use CumuluUtils (To be modified/extended by user experience).&lt;br /&gt;
#A working CumulusMX environment on Windows, Linux (RPi) or MacOS&lt;br /&gt;
##On Linux (and probably MacOS too) the user must verify whether [[SysInfo#Introduction|the application &#039;&#039;lshw&#039;&#039; has been installed]].&lt;br /&gt;
##NOTE: no experience by the author on MacOS exists so be prepared to communicate&lt;br /&gt;
#For the &#039;&#039;[[Charts_-_Misc_charts|Miscellaneous Charts]]&#039;&#039; more data - a year starting on jan 1 - is required to make these useful&lt;br /&gt;
#For the logfiles:&lt;br /&gt;
##&amp;lt;s&amp;gt;A consistent date format, mixed date formats in logfiles are not accepted by CumulusUtils&amp;lt;/s&amp;gt; From CMX v4 onwards this is enforced by CMX and the format has changed again on CMX v5. Corresponding CUtils versgoons are available. It is advised to upgrade to the last version of CMX/CUtils as fast as possible because of support.&lt;br /&gt;
#For longer data series it will be useful to run the [[Software#Create_Missing|CMX supporting application &#039;&#039;CreateMissing.exe&#039;&#039;]] beforehand.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
The goal of &#039;&#039;CumulusUtils&#039;&#039; (abbr: &#039;&#039;Cutils&#039;&#039; or &#039;&#039;CUtils&#039;&#039;) is to facilitate website creation for users of CumulusMX without exposure to coding in e.g. PHP or javascript. Having a meteo-website should not be privileged to users with great IT-skills. Making charts should not be demanding for programming skills in SQL or making it otherwise impossible to create charts without diving deep into the technique involved in CumulusMX (which actually is also the case with SQL). Note that this does not  mean you can&#039;t use IT skills: the user configurable menu offers an opening to expand as far as you wish.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; positions itself as a configurable application for which the understanding of how to run it and how to configure it is the most important thing to know. For configuration &#039;&#039;CumulusUtils&#039;&#039; uses [[Cumulusutils.ini|&#039;&#039;cumulusutils.ini&#039;&#039;]] file which resides in the CumulusMX directory. If that file does not exist, it will be created. All other files related to &#039;&#039;CumulusUtils&#039;&#039; are in the utils directory.&lt;br /&gt;
&lt;br /&gt;
The charts are created using [https://www.highcharts.com/ HighCharts] using their [https://shop.highsoft.com/highsoft/form/noncommercialform non-commercial license]. If you want to use the charts or the [[Website Generator]] of &#039;&#039;CumulusUtils&#039;&#039;, please make yourself acquainted with this license.&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
The user is assumed to have basic computer skills and knowledge about the Operating System and directory structure. The user must also be aware of the directory infrastructure of CumulusMX and needs to be aware  of the meaning of the terms &#039;&#039;webroot&#039;&#039; and &#039;&#039;FTProot&#039;&#039; and &#039;&#039;Working Directory&#039;&#039;. The user should be able to understand and edit the ini files (both from &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;CumulusUtils&#039;&#039;). The user should understand the basic functioning of &#039;&#039;CumulusMX&#039;&#039; which means the correct availability of &#039;&#039;CumulusMX&#039;&#039; is a precondition for using &#039;&#039;CumulusUtils&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Some output files can be used with &#039;&#039;Cumulus 1&#039;&#039; but the charting possibilities rely on the availability of the JSON datafiles of &#039;&#039;CumulusMX&#039;&#039;. Therefore the use of &#039;&#039;CumulusUtils&#039;&#039; in combination with &#039;&#039;Cumulus 1&#039;&#039; is limited. The [[Website Generator|website generator]] in combination with &#039;&#039;Cumulus 1&#039;&#039; is not advised.&lt;br /&gt;
&lt;br /&gt;
== Output ==&lt;br /&gt;
The output of &#039;&#039;CumulusUtils&#039;&#039; consists of mainly of text files (extension: .txt) which are generated on demand. In Cutils idiom [[modules|&#039;&#039;modules&#039;&#039;]]. These text files can be incorporated in a website the user has or is making. Ultimately when using the [[Website Generator|website generator]] feature,  &#039;&#039;CumulusUtils&#039;&#039; generates a complete website, uploaded to the user domain and extendable through a [[User Defined Menu|user defined menu]]. When using the [[ChartsCompiler|&#039;&#039;ChartsCompiler&#039;&#039;]], the user can define his own charts and place the output where he wants just like other &#039;&#039;modules&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
All output of CumulusUtils is written [[Encoding_in_CumulusUtils|as UTF8 encoded text  files]].&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;CumulusUtils&#039;&#039; is available in a distribution which can be downloaded from the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44&amp;amp;t=17998 forum]. In the CumulusMX directory the user must create a directory utils (case dependent) and must copy the files of the distribution (including the subdirectories) to that directory. &lt;br /&gt;
# Then, on the domain for the website, the user needs to make two directories in the webroot: &#039;lib&#039; and &#039;css&#039;. In addition the distribution directory CUicons must be copied as a whole - with contents - to the webroot. &lt;br /&gt;
# Updating &#039;&#039;CumulusUtils&#039;&#039; is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the  utils directory.&lt;br /&gt;
# &amp;lt;s&amp;gt;NOTE a seemingly important issue: the datafiles (the naming and the contents) are dependent for their format on the locale / country setting of your machine. If you install and run from scratch and do not bother CMX will take the country setting from the settings of the computer. You may also give the country setting on the commandline when starting CMX. However, it is important to know that CumulusUtils does not handle datafiles with mixed languages and produces lots of errors. When starting with a new install this is not a big deal. But if you have years of old data which you wish to analyse as well you must consider carefully which country setting of CMX is required. Note that the language setting of CumulusUtils  is for display/language handling only and does not affect the reading of the data in any way apart for the monthly log file name. If you use a different locale than the one you use for CMX, the please fill in the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039; (section [General]) with the abbreviated filenames of the locale you use for CMX.&amp;lt;/s&amp;gt;&lt;br /&gt;
# From version 4, the logfiles are written as invariant and the above striked through note has become invalid&lt;br /&gt;
# From version 4.7 (.NET 10) there are changes in the database which require CMX to run before CUtils 8.2.0 can run. &lt;br /&gt;
&lt;br /&gt;
When installed you are ready to run. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
So after installing you have:&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the CumulusMX machine is:&lt;br /&gt;
  utils			(contents in the distribution)&lt;br /&gt;
    |--- bin		(in the distribution (from 4.7.0 and up))&lt;br /&gt;
    |--- utilslog	(Created by CumulusUtils)&lt;br /&gt;
&lt;br /&gt;
The directory structure for utils on the Website is:&lt;br /&gt;
&lt;br /&gt;
  WebRoot		(Content uploaded by CumulusUtils)&lt;br /&gt;
    |--- lib		(JavaScript libraries, uploaded by CumulusUtils during a run)&lt;br /&gt;
    |--- css		(css files, uploaded by CumulusUtils during a run)&lt;br /&gt;
    |--- CUicons        (required to be manually copied once)&lt;br /&gt;
&lt;br /&gt;
=== Updating CumulusUtils ===&lt;br /&gt;
Updating CumulusUtils is done by completely overwriting the contents of the installation directory utils as if it were an installation. If you want to save the old installation, make a copy of the utils directory. The first run after an install or an update MUST be without [[Thrifty - Cutils Command Qualifier|Thrifty]].&lt;br /&gt;
&lt;br /&gt;
=== Informational files ===&lt;br /&gt;
In the distribution there are some files which are examples or defaults. When used, rename them (and possibly copy manually to the webroot).&lt;br /&gt;
No automatic copying of these files is done by CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
Beside the libraries the distribution contains:&lt;br /&gt;
#CUserAbout-example.txt : as an example of the user about file - when used rename to &#039;&#039;CUserAbout.txt&#039;&#039;&lt;br /&gt;
#CutilsMenu-example-for-use.def : as an example of the menu structure - when used rename to &#039;&#039;CutilsMenu.def&#039;&#039;&lt;br /&gt;
#CutilsCharts-default-for-use.def : when used rename to &#039;&#039;CutilsCharts.def&#039;&#039;&lt;br /&gt;
#CutilsCharts-examples.def : not intended for direct use, contains some more elaborate examples of the [[ChartsCompiler]] possibilities&lt;br /&gt;
&lt;br /&gt;
To avoid confusion it is left to the user to edit and maintain the files for use either on the website or on the CumulusMX machine.&lt;br /&gt;
&lt;br /&gt;
When creating website the file &#039;&#039;CutilsHead.def&#039;&#039; may have importance to you. See [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
=== Manually installing without FTP ===&lt;br /&gt;
NOTE: Not using the automatic upload system is disadvised. Because CumulusUtils is datadriven it requires the JSON files and the realtime.txt and realtimegauges.txt from CMX. Besides those, if you are using the UserAskedData feature of CumulusUtils there will be additional JSON files required for the server and without the upload module your will need a way to get them there. There is no copy feature like CMX has as CumulusUtils is designed as a website tool and an upload method is implicitely assumed present. However, manual handling can be done but is not advised.&lt;br /&gt;
&lt;br /&gt;
All required installation and generated files are present in the utils directory and copied with &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; to the server during a run of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t use &#039;&#039;FTP&#039;&#039; or &#039;&#039;PHP upload&#039;&#039; you will have to copy manually.&lt;br /&gt;
&lt;br /&gt;
=== Files involved ===&lt;br /&gt;
The list of installation files required and their destination is below. The generated Javascript files are included in the table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Distribution File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| index.html || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges.js || &amp;lt;webroot&amp;gt;/lib || Despite the same name this file is very different from the one in CMX&lt;br /&gt;
|-&lt;br /&gt;
| CUlanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsDefaults.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| suncalc.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUtween.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUsteelseries.min.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.rose.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CURGraph.common.core.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| CUgauges-ss.css || &amp;lt;webroot&amp;gt;/css&lt;br /&gt;
|-&lt;br /&gt;
! Generated File !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| cumulusutils.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| HighchartsLanguage.js || &amp;lt;webroot&amp;gt;/lib&lt;br /&gt;
|-&lt;br /&gt;
| *.txt || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataIn10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut2p5.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| airlinkdataOut10.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsRecentdata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| customlogsDailydata.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataRECENT.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataDAILY.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CUserdataALL.json || &amp;lt;webroot&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Realtime Files !! Destination !! Remark&lt;br /&gt;
|-&lt;br /&gt;
| realtime.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| realtimegauges.txt || &amp;lt;webroot&amp;gt; || Served by CMX [1]&lt;br /&gt;
|-&lt;br /&gt;
| airlinkrealtime.txt || &amp;lt;webroot&amp;gt; || When the AirLink device is configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| extrasensorsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| customlogsrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|-&lt;br /&gt;
| meteocamrealtime.txt || &amp;lt;webroot&amp;gt; || When Extra Sensor devices are configured [2]&lt;br /&gt;
|}&lt;br /&gt;
[1] : These files may be served by CMX in another directory (just like the CMX JSON data files). In that case the relative location is specified in the  inifile parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
[2] : these files are generated in the utils directory and need to be configured as Extra Webfiles in CMX with the ticks: Realtime, Process and FTP. Note that the generated file has the webtags and remains local, the processed files contains the values and must be send to the &amp;lt;webroot&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Running CumulusUtils ==&lt;br /&gt;
&lt;br /&gt;
CumulusUtils is - up to v6.x.y - a [https://www.mono-project.com/ &#039;&#039;mono&#039;&#039;] executable. &lt;br /&gt;
&lt;br /&gt;
From v7.0.0 and up it runs under .NET 8 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this  link when on Linux&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
From v8.2.0 and up it runs under .NET 10 [https://learn.microsoft.com/en-gb/dotnet/core/install/linux-scripted-manual#scripted-install &#039;&#039;Follow this link when on Linux&#039;&#039;] (and this has changes to the database which require CMX to run before CUtils can successfully run).&lt;br /&gt;
&lt;br /&gt;
All environments are very different and not interchangeable. However running CumulusUtils is pretty similar on all environments and mono and dotnet (8 and 10) can co-exist on the same machine. See the CMX installation on how to install either mono or dotnet. CumulusUtils assumes the correct installation of either environment.&lt;br /&gt;
&lt;br /&gt;
Mono is an open source implementation of Microsoft&#039;s .NET Framework based on the ECMA standards for C# and the Common Language Runtime. &lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; runs on any operating system CumulusMX runs on and it &#039;&#039;&#039;MUST&#039;&#039;&#039; run in the CumulusMX directory (as &#039;&#039;working directory&#039;&#039;).&lt;br /&gt;
Running &#039;&#039;CumulusUtils&#039;&#039; is done from the commandline in a command window (under any OS).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;CumulusUtils&#039;&#039; takes one or more commandline parameters (in short: commands) and must be like (see NOTE 1 below; square brackets means &#039;&#039;optional&#039;&#039; so DON&#039;T TYPE THEM):&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;utils/bin/cumulusutils.exe [command]&#039;&#039;  (the &#039;&#039;mono&#039;&#039; syntax - this assumes mono is already active)&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;dotnet utils/bin/cumulusutils.dll [command]&#039;&#039;  (the &#039;&#039;.NET&#039;&#039; syntax - &#039;&#039;dotnet&#039;&#039; is obligatory on the commandline. Note the &#039;&#039;&#039;dll&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Below is described for &#039;&#039;mono&#039;&#039;, when using .NET, please change the command as above. Note you will have to carry this on in scripts as well. Using the dotnet command in crontab requires using the explicit path to the dotnet command or defining the PATH environment variable in the crontab script which does not know the environment (a bit awkward).&lt;br /&gt;
&lt;br /&gt;
If no commands are given the application responds with:&lt;br /&gt;
&lt;br /&gt;
                &#039;&#039;CumulusUtils : No Arguments nothing to do. Exiting. See Manual.&lt;br /&gt;
                CumulusUtils Usage : utils/bin/cumulusutils.exe [args] (args case independent):&lt;br /&gt;
                  utils/bin/cumulusutils.exe&lt;br /&gt;
                      [ [[SysInfo]] ] [ [[Forecast]] ] [ [[StationMap]] ] [ [[UserReports]] ] [ [[MeteoCam]] ]&lt;br /&gt;
                      [ [[pwsFWI]] ][ [[Records - Top10|Top10]] ][ [[Graphs]] ][ [[Yadr]] ][ [[Records]] ]&lt;br /&gt;
                      [ [[NOAA]] ][ [[Records - DayRecords|DayRecords]] ][ [[AirLink]] ][ [[UserAskedData]] ]&lt;br /&gt;
                      [ [[ChartsCompiler|CompileOnly]] ] [ [[Extra Sensors|ExtraSensors]] ] [ [[Custom Logs|CustomLogs]] ] &lt;br /&gt;
                      [ [[Diary|Diary ]] ] [[CumulusUtils Runtime Library|CUlib]] ]&lt;br /&gt;
                      | [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] &lt;br /&gt;
&lt;br /&gt;
                OR (in case you use the website generator):&lt;br /&gt;
                   utils/bin/cumulusutils.exe [ [[Thrifty - Cutils Command Qualifier|Thrifty]] ] [[Website Generator|Website]]&lt;br /&gt;
&lt;br /&gt;
All &#039;&#039;modules&#039;&#039; mentioned in the  command will be described in their own pages here on the wiki and when available will be linked from here.&lt;br /&gt;
&lt;br /&gt;
The commands represent the &#039;&#039;modules&#039;&#039; the user is asking for to be generated. The output is generated to the utils directory in the &#039;&#039;CumulusMX&#039;&#039; directory. When asking for the generation of the website, the user not only gets all &#039;&#039;modules&#039;&#039; available but also an &#039;&#039;index.html&#039;&#039; file accompanied with some javascript infrastructure. Everything together then is the website which, when copied to the webroot, is ready for use.&lt;br /&gt;
&lt;br /&gt;
Commands to CumulusUtils - the module names - are case independent but the author prefers [https://en.wikipedia.org/wiki/Camel_case Upper Camel Case] (or Pascal Case).&lt;br /&gt;
&lt;br /&gt;
Copying to the webroot can also be done automatically through the FTP account of the user, much like &#039;&#039;CumulusMX&#039;&#039; itself copies e.g. the realtime.txt or the datafiles to the webroot. The FTP account and domain used are the same as present in the [[Cumulus.ini]] configuration. The PHP upload as exists in CMX can also be used with CUtils and it works exactly the same.&lt;br /&gt;
&lt;br /&gt;
=== Considerations with CMX configuration ===&lt;br /&gt;
Please note that CumulusUtils requires live data from CumulusMX to display what you expect. To accomplish that you need to configure CMX as follows:&lt;br /&gt;
&lt;br /&gt;
The things it is looking for are realtime.txt and realtimegauges.txt. Those are sent by CMX to the directory you configure in &#039;&#039;Settings=&amp;gt;Web/Upload Site&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Normal Interval Settings&#039;&#039;: Tick both options and set the interval time to enable interval Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Standard File settings&#039;&#039;: Disable both options (for CumulusUtils, if you have websites which use those, leave it enabled)&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Graph File Settings&#039;&#039;: Enable all (only &#039;&#039;Upload&#039;&#039;, use &#039;&#039;Create Local&#039;&#039; only when needed) except the following:&lt;br /&gt;
   &#039;&#039;availabledata.json&#039;&#039;, &#039;&#039;dailyrain.json&#039;&#039;, &#039;&#039;dailytemp.json&#039;&#039;, &#039;&#039;sunhours.json&#039;&#039;, &#039;&#039;airquality.json&#039;&#039;, &#039;&#039;extra*.json&#039;&#039;, &#039;&#039;soil*.json&#039;&#039;, &#039;&#039;user*.json&#039;&#039;,&#039;&#039;co2*.json&#039;&#039; and &#039;&#039;leaf*.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Daily Graph File Settings&#039;&#039;: Enable all except &#039;&#039;alldailydegdaydata.json&#039;&#039;, &#039;&#039;alltempsumdata.json&#039;&#039; and &#039;&#039;allchillhrsdata.json&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both and set interval time to enable realtime Upload&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Internet Settings=&amp;gt;Interval Configuration=&amp;gt;Real time Interval Settings&#039;&#039;: Tick both &#039;&#039;realtime.txt&#039;&#039; and &#039;&#039;realtimegauges.txt&#039;&#039; for Upload, use &#039;&#039;Create Local&#039;&#039; only when needed.&lt;br /&gt;
&lt;br /&gt;
 In &#039;&#039;Settings=&amp;gt;Web/Upload Site=&amp;gt;General Settings&#039;&#039;: Tick &#039;&#039;UTF-8 encoding&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For the &#039;&#039;[[ChartsCompiler]]&#039;&#039; (you may be more selective later when understanding what and how):&lt;br /&gt;
&lt;br /&gt;
After selecting the required tables you need to select the variables they may contain:&lt;br /&gt;
&lt;br /&gt;
 In Settings=&amp;gt;Station Settings=&amp;gt;Graphs=&amp;gt;Data Series Visibility: Tick all&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: You may disable some fields later when you are more acquainted with the system. Disabling tables and field can be especially useful when you are worried about size of transfer and provider limits.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the &#039;&#039;[[ChartsCompiler]]&#039;&#039;, you may need the &#039;&#039;[[UserAskedData]]&#039;&#039; command to CumulusUtils. See the [[ChartsCompiler]].&lt;br /&gt;
&lt;br /&gt;
You may want to read about and understand the [[Website_Generator#CumulusRealTimeLocation|&#039;&#039;CumulusRealTimeLocation&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
=== When and why to run ===&lt;br /&gt;
Running CumulusUtils results in output which represents a static view of the data in a table or graphic format for display on your website (it may even create a complete website). The fact that the output is a static view requires the output to be regenerated when new data is available. Rerunning CumulusUtils is also required when you change anything in the configuration and can&#039;t wait to see that change reflected on the site. In general: changes in data and configuration require a rerun.&lt;br /&gt;
&lt;br /&gt;
Reruns for changes of data are typically once  per day, just after rollover time. In that sense it is like running a new query.&lt;br /&gt;
&lt;br /&gt;
There are some exceptions to the daily rule: Sysinfo and [[UserAskedData]]&lt;br /&gt;
#Sysinfo: a rerun with Sysinfo is required when you wish to update the system information which can be a requirement from every 10 minutes to once per day&lt;br /&gt;
#[[UserAskedData]]: provides data for charts which are otherwise not available. Again this is at a user desired frequency which is recommended to be the FTP frequency defined in Cumulus.ini (parameter &#039;&#039;UpdateInterval&#039;&#039; in section [FTP site])&lt;br /&gt;
&lt;br /&gt;
==== RPi: Using crontab ====&lt;br /&gt;
Automating the run of CumulusUtils on the Raspberry Pi is typically done through [https://man7.org/linux/man-pages/man5/crontab.5.html &#039;&#039;crontab&#039;&#039;]. Below is the crontab of the author of CumulusUtils to be used as an &#039;&#039;&#039;example&#039;&#039;&#039;! &lt;br /&gt;
&lt;br /&gt;
===== For dotnet =====&lt;br /&gt;
  05 1 * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll thrifty website&lt;br /&gt;
  1-51/10 * * * *  cd /home/CumulusMX; /usr/share/dotnet/dotnet utils/bin/cumulusutils.dll sysinfo UserAskedData UserReports&lt;br /&gt;
&lt;br /&gt;
===== For mono =====&lt;br /&gt;
  15 1 * * *  cd /home/CumulusMX; utils/bin/cumulusutils.exe thrifty website&lt;br /&gt;
  1-51/10 * * * *  cd /home/CumulusMX; utils/bin/cumulusutils.exe sysinfo UserAskedData UserReport&lt;br /&gt;
&lt;br /&gt;
==== Windows: Using the scheduler ====&lt;br /&gt;
===== How to create a scheduled task =====&lt;br /&gt;
Prior to doing this we need to also create the script that the task will use.&lt;br /&gt;
Open notepad or your favourite text editor (preferred use: Notepad++).&lt;br /&gt;
&lt;br /&gt;
You can copy paste the below and save as cumulusutils.bat&lt;br /&gt;
(It can be a filename of choice but must have extension of .bat, if using windows notepad, underneath the File name: option, will need to set Save as type: option to All Files (*.*). This way when the File name: is set as cumulusutils.bat it will save it as that and not cumulusutils.bat.txt)&lt;br /&gt;
====== Batch file code of cumulusutils.bat ======&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v6 and below (running under mono):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd\&amp;lt;/br&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;/br&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;/br&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;/br&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;/br&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX C:\CumulusMX\utils\bin\cumulusutils.exe Website&amp;lt;/br&amp;gt;&lt;br /&gt;
 :end&amp;lt;/br&amp;gt;&lt;br /&gt;
   exit&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: The command shown here is &#039;&#039;Website&#039;&#039;. The user can put any command he likes in here (with or without &#039;&#039;Thrifty&#039;&#039;) depending on what he wants to achieve. Possibly he has to create multiple tasks (e.g. UserAskedData specifically runs on a higher frequency than website). These commands then require their own batch files.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;For v7 and up (running under dotnet):&#039;&#039;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM This batch file script checks for the process CumulusMX.exe is running, if yes, then runs the &amp;quot;cumulusutils.exe&amp;quot;, otherwise exit&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set the current working session to the folder C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd\&amp;lt;br/&amp;gt;&lt;br /&gt;
   cd C:\CumulusMX&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Check for CumulusMX.exe is running, if yes goto :runutils, otherwise goto :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   tasklist /FI &amp;quot;IMAGENAME eq CumulusMX.exe&amp;quot; 2&amp;gt;NUL | find /I /N &amp;quot;CumulusMX.exe&amp;quot;&amp;gt;NUL&amp;lt;br/&amp;gt;&lt;br /&gt;
   if &amp;quot;%ERRORLEVEL%&amp;quot;==&amp;quot;0&amp;quot; GOTO runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   GOTO end&amp;lt;br/&amp;gt;&lt;br /&gt;
 REM Set as working directory C:\CumulusMX and run cumulusutils.exe in folder C:\CumulusMX\utils\bin, with the desired command or commands as per the wiki&amp;lt;br/&amp;gt;&lt;br /&gt;
 :runutils&amp;lt;br/&amp;gt;&lt;br /&gt;
   START /D C:\CumulusMX dotnet C:\CumulusMX\utils\bin\cumulusutils.dll Website&amp;lt;br/&amp;gt;&lt;br /&gt;
 :end&amp;lt;br/&amp;gt;&lt;br /&gt;
   exit&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Task creation process =====&lt;br /&gt;
Within the Task Scheduler Library&lt;br /&gt;
#Create “New Task…” (actions pane), or right click middle pane and choose “Create New Task” (not Create Basic Task).&lt;br /&gt;
##On the General tab of the new task (General information about the task).&lt;br /&gt;
##Set desired name for the Task (Example name CumulusUtils, can also set description if desired).&lt;br /&gt;
##Click “Change User or Group…”.&lt;br /&gt;
##Type in here the word system (click on “Check Names” if desired, to confirm it is correct and it should then display as SYSTEM in capitals).&lt;br /&gt;
##Click OK to use this user account.&lt;br /&gt;
##Note in Security options part of the new task creation process it should now state under. When running the task, use the following user account: NT AUTHORITY\SYSTEM &amp;lt;br/&amp;gt;(Convenient reason for this is that when the task runs, it runs is running as system account and so is not seen popping up on screen when it is running.)&lt;br /&gt;
##“Configure for:” not required to be changed, can be changed to version of operating system.&lt;br /&gt;
#On the Triggers tab of the new task (Setting when and how often the task runs).&lt;br /&gt;
##Click on “New”, to create a new launch time and frequency of the task.&lt;br /&gt;
##Begin the task: option should default to “On a schedule”, this is the desired option.&lt;br /&gt;
##Under the settings section choose “Daily” option.&lt;br /&gt;
##Start: date can be left as is, set the desired start time of the task. Set to “12:00:15 am”.&amp;lt;/br&amp;gt;(Reason for this setting with 15 second delay is trying not to compete with CumulusMX upload tasks).&lt;br /&gt;
##In the advanced part, enable Repeat task every: and choose desired interval.&amp;lt;/br&amp;gt;With the option for a duration of: default setting of “1 day” is used.&lt;br /&gt;
##Set Stop task if it runs longer than: to “30 minutes” (if the task runs longer than the time set, it is stopped. This applies to the individually triggered task, and not the overall routine of this scheduled task, with it’s repeating trigger times).&lt;br /&gt;
##Confirm that the Enabled options is ticked to make active this trigger routine.&lt;br /&gt;
#On the Actions tab (Setting what the task is to do).&lt;br /&gt;
##Click on “New…” to create a new action.&lt;br /&gt;
##Action: should default to “Start a program” this is correct.&lt;br /&gt;
##In the Program/Script: part, type the path to the program to run, or click “Browse” to navigate and select the program to run. (example C:\CumulusMX\batch_files\cumulusutils.bat).&lt;br /&gt;
#On the Conditions tab (setting other conditions).&lt;br /&gt;
##Under Power, untick Start the task only if the computer us on AC power&amp;lt;/br&amp;gt;(This then enables the task to start and run even if on battery. It will automatically untick Stop if the computers switches to batter power.)&lt;br /&gt;
#On the Settings tab (additional other settings for the task).&lt;br /&gt;
##Confirm ticked for Allow task to be run on demand.&lt;br /&gt;
##By default Stop the task if it runs longer than: is already ticket and set as 3 days.Change to 1 hour (the behaviour here is the same as instruction 3.f.)&lt;br /&gt;
##Confirm ticked for If the running ask does not end when requested, for it to stop.&lt;br /&gt;
##Default setting of “Do not start a new instance” Is OK.&lt;br /&gt;
#Click on OK down the bottom to complete and commit the creation of this new task.&lt;br /&gt;
&lt;br /&gt;
===== Customisation =====&lt;br /&gt;
One can also customise/fine tune the task further by exporting it, default export format is XML. Then can edit in favourite text editor and reimport when done. May be useful in particular for fine tuning the repetition times of the task.&lt;br /&gt;
&lt;br /&gt;
== Additional remarks ==&lt;br /&gt;
&lt;br /&gt;
#(on NOT Windows) When mono is already active (as daemon or from command line in another process) you can start any mono executable without having it prepended by the mono command. As normally (if you did not uninstall it) xsp4 is running as a daemon, mono is always available so you can run mono executables as normal linux executables. You won&#039;t notice the difference. However if you don&#039;t have the x bit set, you get access refused when trying to execute. Without the x bit set you have to prepend mono as in: &#039;&#039;mono utils/bin/cumulusutils.exe&#039;&#039;. Then it executes without the x bit set because then it is an argument to the mono command. &lt;br /&gt;
#CumulusUtils is written in C#, HTML and javascript. All HTML and javascript is embedded in the C# code and generated on execution of &#039;&#039;CumulusUtils&#039;&#039;. The cumuluscharts.txt charts library was based on the cumuluscharts.js originally distributed with &#039;&#039;CumulusMX&#039;&#039;, probably the version a bit before April 2020 and has been modified since. With the appearance of the [[ChartsCompiler]] the name cumuluscharts.txt has been preserved but the technique of creating the charts has been changed.&lt;br /&gt;
#As CumulusUtils itself runs in the Cumulus directory, the data directory (data) is one level below. CumulusUtils currently uses - a copy of - dayfile.txt, the monthly logfiles and incidentally the alltime.ini file. It also takes information from Cumulus.ini.  All output is written to the utils/ subdirectory. All logs are created in the utils/utilslog/ subdirectory. It also uses the AirLink.log and the ExtraLog files in a similar way when the user has such devices.&lt;br /&gt;
#The output of CumulusUtils consists of UTF8 encoded text files. They can be brought to your website manually through some ftp tool (e.g. WinSCP) or by using the Extra Web Files functionality in the setting of Cumulus (deprecated) or by using the [[FTP facility]]. &lt;br /&gt;
#CumulusUtils can output for many languages. See the specific page on [[Language in CumulusUtils|language in CumulusUtils]].&lt;br /&gt;
#Development of CumulusUtils started in 9&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; of August 2019 with an initial commit of the Top10 written in C. Development changed rapidly to C# with an initial commit of Top10 on November 19 2019 of version  0.7.0. The rest  of the history can be read in the [[Release Notes|release notes]].&lt;br /&gt;
#Users can present themselves on the CumulusUtils [[Map - Users of CumulusUtils|usermap]]. Although optional for modules users, the author sees it as payment for the usage of the tool, so please put yourself on the map. For website users it is automatic and obligatory. The URL needs to be filled in by yourself in the inifile. When not a complete website, please fill in the URL to the page you use CUtils for.&lt;br /&gt;
#In case of problems there exists [[Errorlogging]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: comments to this series of articles is welcome either by using the Talk feature of the Wiki for that page, direct edit of the article (request an account) or by contacting the author of CumulusUtils [https://cumulus.hosiene.co.uk/memberlist.php?mode=viewprofile&amp;amp;u=9016 HansR] on the [https://cumulus.hosiene.co.uk/viewtopic.php?f=44 forum] or through PM.&lt;br /&gt;
&lt;br /&gt;
[[Category:WebTools]][[Category:User Contributions]][[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12344</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12344"/>
		<updated>2026-02-04T13:15:08Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.2 .NET10 (28/01/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.2 .NET10 (xx/xx/26) ==== &lt;br /&gt;
#pwsFWI: fixed the failing of &#039;&#039;pwsFWI&#039;&#039; if &#039;&#039;latitude&#039;&#039; and/or &#039;&#039;longitude&#039;&#039; is only 4 characters or less (e.g. &#039;&#039;9.35&#039;&#039; ) in &#039;&#039;Cumulus.ini&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been created and donated by Andy and has been fixed in the bottom-right, the version spec. of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12343</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12343"/>
		<updated>2026-02-04T13:00:11Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.1 .NET10 (28/01/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.2 .NET10 (28/01/26) ==== &lt;br /&gt;
#pwsFWI: fixed the failing of &#039;&#039;pwsFWI&#039;&#039; if &#039;&#039;latitude&#039;&#039; and/or &#039;&#039;longitude&#039;&#039; is only 4 characters or less (e.g. &#039;&#039;9.35&#039;&#039; ) in &#039;&#039;Cumulus.ini&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been created and donated by Andy and has been fixed in the bottom-right, the version spec. of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12342</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12342"/>
		<updated>2026-01-28T13:04:31Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.1 .NET10 (28/01/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been created and donated by Andy and has been fixed in the bottom-right, the version spec. of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12341</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12341"/>
		<updated>2026-01-28T12:54:39Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.1 .NET10 (28/01/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|frameless|left|alt=CumulusUtils Logo]]&lt;br /&gt;
#General: A logo has been donated by Any and has been fixed in the bottom-right, the version of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12340</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12340"/>
		<updated>2026-01-28T12:49:50Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.1 .NET10 (28/01/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
[[File:CumulusUtils Logo.png|thumb]]&lt;br /&gt;
#General: A logo has been donated by Any and has been fixed in the bottom-right, the version of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12339</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12339"/>
		<updated>2026-01-28T12:49:20Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.1 .NET10 (28/01/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
#General: A logo has been donated by Any and has been fixed in the bottom-right, the version of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:CumulusUtils Logo.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=File:CumulusUtils_Logo.png&amp;diff=12338</id>
		<title>File:CumulusUtils Logo.png</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=File:CumulusUtils_Logo.png&amp;diff=12338"/>
		<updated>2026-01-28T12:48:20Z</updated>

		<summary type="html">&lt;p&gt;HansR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CumulusUtils Logo&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12337</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12337"/>
		<updated>2026-01-28T12:37:12Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.1 .NET10 (28/01/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
#General: A logo has been donated by Any and has been fixed in the bottom-right, the version of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in the unit classes, used in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: webtag &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12336</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12336"/>
		<updated>2026-01-28T12:35:26Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.1 .NET10 (xx/xx/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.1 .NET10 (28/01/26) ==== &lt;br /&gt;
#General: A logo has been donated by Any and has been fixed in the bottom-right, the version of CUtils now is on the left. Any remarks on how to size the startup screen, position the logo are welcome (not a guarantee of implementing it).&lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being. If any deviation or error spotted please report!&lt;br /&gt;
#CustomLogs: &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12335</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12335"/>
		<updated>2026-01-27T18:02:58Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.1 .NET10 (xx/xx/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.1 .NET10 (xx/xx/26) ==== &lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#General: The previous point led to a rewrite of &#039;the number of decimals handling&#039; in reports and charts because of the imperial deviations. Still not happy but it will hold for the time being.&lt;br /&gt;
#CustomLogs: &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12334</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12334"/>
		<updated>2026-01-23T05:43:37Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.1 .NET10 (xx/xx/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.1 .NET10 (xx/xx/26) ==== &lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#Compiler: When pressure and rain have units &#039;&#039;inHg&#039;&#039; and &#039;&#039;in&#039;&#039; respectively, that will  be reflected in the charts axis and the charts tooltips&lt;br /&gt;
#CustomLogs: &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12333</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12333"/>
		<updated>2026-01-21T18:42:43Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.1 .NET10 (xx/xx/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.1 .NET10 (xx/xx/26) ==== &lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
#Compiler: Code generation for snow is now valid (when using a chart through the compiler, not the diary)&lt;br /&gt;
#CustomLogs: &#039;&#039;snow24hr&#039;&#039; is now corrected to &#039;&#039;snow24h&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12332</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12332"/>
		<updated>2026-01-21T07:38:16Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.0 .NET10 (21/01/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.1 .NET10 (xx/xx/26) ==== &lt;br /&gt;
#pwsFWI: Added three language tags: &#039;&#039;CurrentValue&#039;&#039;, &#039;&#039;MaxScale&#039;&#039; and &#039;&#039;MoreInfo&#039;&#039; which appear in the standard format of the pwsFWI table&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12331</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12331"/>
		<updated>2026-01-21T06:45:04Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.0 .NET10 (21/01/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have that sensor). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. This will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12330</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12330"/>
		<updated>2026-01-21T06:05:52Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.0 .NET10 (21/01/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have it). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. THis will be accessible in a future version.&lt;br /&gt;
#Website: A - limited - userspace is created in the footer. The contents of the parameter FooterCenterText is placed there.&lt;br /&gt;
#Fixed: ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12329</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12329"/>
		<updated>2026-01-21T05:55:13Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.0 .NET10 (xx/xx/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.0 .NET10 (21/01/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have it). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. THis will be accessible in a future version.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12328</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12328"/>
		<updated>2026-01-21T05:54:48Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.0 .NET10 (xx/xx/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.0 .NET10 (xx/xx/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have it). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. THis will be accessible in a future version.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12327</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12327"/>
		<updated>2026-01-20T16:59:25Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.0 .NET10 (xx/xx/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.0 .NET10 (xx/xx/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#New Extra Sensor Black Globe Temperature (Ecowitt) has been introduced in CMX. This sensor is currently only accessible in CUtils through a customlog (I don&#039;t think many of you have it). It has its own fields in the &#039;&#039;extralog&#039;&#039; though. THis will be accessible in a future version.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A start is made to make RECENT and EXTRA variables on the same level for EQUATIONS so to e.g. create a T, P and H correction for the CO2 concentration. Some details have already been implemented. When done It will be published with the CO2 correction as an example.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12326</id>
		<title>Release Notes</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Release_Notes&amp;diff=12326"/>
		<updated>2026-01-14T08:11:51Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Version 8.2.0 .NET10 (xx/xx/26) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains the complete release history of CumulusUtils as a reference. It is not meant to be a linear read but should be searchable.&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
==== Version 8.2.0 .NET10 (xx/xx/26) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. All development will continue on .NET10, CUtils .NET8.0 is discontinued as per version 8.2.1 (unless for severe bug repair)&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing/account issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
#Graphs: period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&lt;br /&gt;
#General: rewrite of the communication with CMX. Because it also touched the PHP upload, please check all functionality related to webtags and uploads.&lt;br /&gt;
#AirLink: Windbarbs are restored and can be plotted again in the Airlink chart (NOTE: remove the AirLink JSON on the server if it does not update properly)&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour. In addition:&lt;br /&gt;
##a new parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
##The word Barometer has been changed to Pressure. If you ran the beta, remove the entry in CUstringsXX.ini to get the new value.&lt;br /&gt;
#General: updated the libraries and removed &#039;&#039;ServiceStack&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A start is made to make RECENT and EXTRA variables on the same level for EQUATIONS so to e.g. create a T, P and H correction for the CO2 concentration. Some details have already been implemented. When done It will be published with the CO2 correction as an example.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.1 .NET8 (05/01/26) ==== &lt;br /&gt;
#ChartsCompiler: fixed the overflow of the x-axis&lt;br /&gt;
&lt;br /&gt;
==== Version 8.2.0 .NET8 (04/12/25) ==== &lt;br /&gt;
#General: This version requires CMX v4.7.0 and up. With this .NET10 needs to be installed on the target machine and CUtils will make use of this. For CUtils .NET8.0 is obsolete.&lt;br /&gt;
#General: Use of Highcharts vs Charts.js (which CMX uses from 4.7 an up). See [https://cumulus.hosiene.co.uk/viewtopic.php?p=140789#p140789 the release topic].&lt;br /&gt;
#Meteocam: the values for T, P, H, R, W are now visible in textual overlay on the image. Config for alignment, left/right position, border position and colour&lt;br /&gt;
#Highcharts: version config has changed. If &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&lt;br /&gt;
#SysInfo: this menu option is now optional by setting &#039;&#039;SystemInfoMenu=true/false&#039;&#039; in section [SysInfo]&lt;br /&gt;
#Records: The name of the record (e.g. T&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;) can now be changed to anything you wish via the language translation system i.e. CUstrings&amp;lt;language identifier&amp;gt;&lt;br /&gt;
#pwsFWI (and forecast): As can be read [https://cumulus.hosiene.co.uk/viewtopic.php?t=23728 here], the &#039;&#039;YourWeather&#039;&#039; system is going to close. Therefore CUtils has made the switch to [https://open-meteo.com/ Open Meteo] for &#039;&#039;pwsFWI&#039;&#039; for the prediction. With this the licensing issue is gone and the prediction will now be standard for all.&lt;br /&gt;
#Fixed: The use of thrifty in combination with YADR is now working.&lt;br /&gt;
#Fixed: CustomLogs JSON file got UTC wrong when a null value appeared. This prevented the PHP upload to continue correctly for the duration of the difference between UTC and local time&lt;br /&gt;
#Fixed: Units for the Extra Sensors which got mixed up after the laser sensor introduction.&lt;br /&gt;
#Fixed: Info text now works again for the &#039;Graphs&#039; (if available, copy &#039;&#039;CUhelptexts-default-for-use.txt&#039;&#039; to utils/CUhelptexts.txt). Other help texts you make yourself in &#039;&#039;CutilsCharts.def&#039;&#039;, See keyword &#039;&#039;&#039;&#039;&#039;INFO&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.2 (19/09/25) ==== &lt;br /&gt;
#CutilsMenu.def: Update the menu system for more robustness:&lt;br /&gt;
##Accept tab as separator&lt;br /&gt;
##Requires &#039;&#039;About&#039;&#039; as last item and &#039;&#039;Home&#039;&#039; as first&lt;br /&gt;
##Requires the following Top Level items in the &#039;&#039;CutilsMenu.def&#039;&#039; (Note that Print is optional): &#039;&#039;Home, ToggleDashboard, Reports, Graphs, Records, Extra, Misc, About&#039;&#039; (Note: &#039;&#039;Extra&#039;&#039; must be present but if no appropriate sensors have been actvated it will not show)&lt;br /&gt;
##The order of items between &#039;&#039;Home&#039;&#039; and &#039;&#039;About&#039;&#039; is arbitrary&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.1 (11/09/25) ==== &lt;br /&gt;
#UserAskedData: FIX =&amp;gt; When uploading with PHP, the JSONs are incrementally uploaded. This required the OLDEST date in the JSON to be set in the headers so the old data could shift out of the JSON on the server while the new ones were pushed in. This OLDEST needs to  be set in Javascript in UTC (and it wasn&#039;t).&lt;br /&gt;
#UtilsMenu.def: The top level menu names now can contain a space. To do so put an underscore on the place of the space e.g. MyMenu_Test. The underscore will be replaced by a space (compare to the Compiler generated chart menus)&lt;br /&gt;
&lt;br /&gt;
==== Version 8.1.0 (09/09/25) ==== &lt;br /&gt;
#Website: Introduction of CutilsHead.def. If that file (user created) exists in the utils directory, its contents replaces three HTML Meta tags in the generated HTML code. This should facilitate any HTML header tags e.g. &amp;lt;META ...&amp;gt; to be positioned in the HTML header as the user wishes. No checks are made on the contents of the CutilsHead.def file and its effect on the resulting index.html, it is fully the users responsibility. No support on the contents and its effect will be given. The HTML tags replaced are:&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;Cumulus standard Website, part of CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;Cumulus, weather, data, weather station, CumulusUtils&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
##&amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;index, noarchive, follow, noimageindex, noimageclick&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;These default values have been changed slightly wrt the previous values: &#039;&#039;Cumulus&#039;&#039; has become &#039;&#039;CumulusMX&#039;&#039; and &#039;&#039;weather station&#039;&#039; has become &#039;&#039;private weather station&#039;&#039;, the word &#039;&#039;standard&#039;&#039; has been removed.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.1 (07/09/25) ==== &lt;br /&gt;
#General: The uploading of the package is taken out of the website and now always done when &#039;&#039;not Thrifty&#039;&#039; because the chart modules also will need the timezone and language. So index.html is taken out and is now only uploaded when generating the website, all other package files are now uploaded if &#039;&#039;not Thrifty&#039;&#039;. So language and timezone will always be correct and available to Higharts.&lt;br /&gt;
#Menu: &#039;&#039;&#039;System 1&#039;&#039;&#039; of the [[User_Defined_Menu#System_1|User Defined Menu]] has been deprecated and is from now on no longer usable. The Wiki info has been deleted.&lt;br /&gt;
&lt;br /&gt;
==== Version 8.0.0 (05/09/25) ==== &lt;br /&gt;
#time in the datafiles is in UTC now. This release is about that and all changes below are related.&lt;br /&gt;
#General: The TimeZone is now taken from CMX (Station Settings=&amp;gt;General Settings=&amp;gt;Location=&amp;gt;TimeZone). CMX 4.6.0 and up is required&lt;br /&gt;
#Cumuluscharts: The ancient charts as fallback in absence of &#039;&#039;CutilsCharts.def&#039;&#039; have been removed. Without CutilsCharts.def CUtils now exits.&lt;br /&gt;
#JSONs: The following - realtime - JSONs are affected: airlinkdataOut10, airlinkdataOut2p5, CUserdataRECENT, customlogsRecentdata, extrasensorsdata. &lt;br /&gt;
#JSONs: All charts with daily data and/or CMX generated JSONs should display normally&lt;br /&gt;
#The Highcharts rule &amp;quot;time:{useUTC: false, timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; has been changed to &amp;quot;time:{timezone: &#039;&amp;lt;timezone&amp;gt;&#039;}&amp;quot; (removed the &#039;useUTC: false&#039;)&lt;br /&gt;
#The default Highcharts version has been set to 12.3 Users are required to empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; in the section General.&lt;br /&gt;
#AirLink: Windbarbs have been disabled for the AirLink for now because the method no longer works. Enabling will happen when another method is found. Compiler windbarbs remain enabled.&lt;br /&gt;
#Copyright: The copyright for CumulusUtils has been changed to the GNU GENERAL PUBLIC LICENSE v3 as per September 2025 withdrawing previous license statements. &lt;br /&gt;
&lt;br /&gt;
NOTE: If you upload incremental, the old datetime values are still in the existing JSON. if you are in a +UTC (east of the meridian) the charts may have a gap on the right of the lines you are plotting because of the difference between the old local time in the JSON will display the difference. If you are in -UTC it may take the timezone difference before you see the new data appear at the end of your chart because it is overwriting the old time data. Don&#039;t worry, your data are OK, you just don&#039;t see them correctly displayed until Highcharts has passed the time difference between UTC and your local time. I you are not interested in looking at that spectacle or are bored by it - after all, for the user it should all be transparent - I would advise to simply delete the named JSONs and wait for the system to fill them up again. The first data will appear quickly, the whole chart will be filled after the  nr of hrs you have defined for a chart.&lt;br /&gt;
&lt;br /&gt;
NOTE: CMX now has the TimeZone as setting/parameter for the Station. CUtils uses the CMX value for TimeZone, writing the timzezone for Highcharts in the CUtils file &#039;&#039;Highcharts.Language&#039;&#039; and makes it part of the theme settings for Highcharts.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.5.1 (1/09/25) ==== &lt;br /&gt;
#ChartsCompiler: Repaired the Highcharts 12.3 issue with the INFO keyword in the [[ChartsCompiler|Compiler]] / [[Charts Definition Language (CDL)|CDL]]&lt;br /&gt;
#ExraSensors: Adjusted to changes in Extra Sensors of CMX 4.5.0. for Extra Temp, Humidity and Dewpoint. This applies to the modules [[Extra Sensors]], [[ChartsCompiler|Compiler]], [[Charts Definition Language (CDL)|CDL]] and the [[Custom Logs]]. The Wiki has been brought in line. Beware: it may not be error-free. If any anomaly found, please contact.&lt;br /&gt;
#ExtraSensors: Added the [[https://cumuluswiki.org/a/Full_list_of_Webtags#Statistics|Monthly Averages]] to the Custom Log as loggable webtags although I have no idea how that works out :D&lt;br /&gt;
#ExtraSensors: Fix for the charts generation for External Extra Sensors&lt;br /&gt;
#ExtraSensors: Fix for the logfile reading for External Extra Sensors where the decimal separator is a comma&lt;br /&gt;
#CUHelpTexts: Renamed the distribution file to CUhelptexts-default-for-use so that when copying a new distribution your translations will not be overwritten.&lt;br /&gt;
#Graphs: Zoom is now 3 months for the Clash of Averages chart&lt;br /&gt;
#General: update of external libraries used&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.5 (11/04/25) ==== &lt;br /&gt;
#ExtraSensors: Fixed bug for deprecated webtags CO2-Pm2p5-24h and CO2-Pm10-24h (changed to CO2pm2p5_24h and CO2pm10_24h)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.4 (09/03/25) ==== &lt;br /&gt;
#ExtraSensors: Improvement and fix in errorhandling to accommodate the &#039;&#039;IgnoreDataErrors&#039;&#039; parameter (similar for Monthly Log reading, External Sensors, AirLink)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.3 (12/02/25) ==== &lt;br /&gt;
#CustomLogs: In the table showing the webtags, the output qualifiers (like rc, nv etc... are removed)&lt;br /&gt;
#Top10: reordered first on dateTime and than on the attribute such that with equal values  of the attribute the newest comes first.&lt;br /&gt;
#Diary: Now a parameter &#039;&#039;Diary&#039;&#039; exists (section &#039;&#039;Diary&#039;&#039;) which if false does not generate the module and removes the menu item. Default is &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccum24h[1-4]&#039;&#039; added.&lt;br /&gt;
#CustomLogs: Webtags &#039;&#039;SnowAccumSeason[1-4]&#039;&#039; added.&lt;br /&gt;
#Updated all library dll&#039;s&lt;br /&gt;
&amp;lt;br/&amp;gt;Wrt the NOAA reports in CMX 4.4.0 the following:&lt;br /&gt;
#I will not put any effort in modifying CUtils to display the NOAA reports in HTML format, only the &#039;old&#039; text format will  be supported. The disadvantage is that some users use the same CMX instance to serve both the standard website and CUtils&#039; website. If you wish to serve the standard CMX website as HTML you will have to find a solution or accept the result in CUtils as is. CUtils expects CMX to have the NOAA setting text for the reports. The HTML output is unpredictable.&lt;br /&gt;
#The only difference is that the CMX text setting uses the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags to display the text.&lt;br /&gt;
#The CMX HTML setting removes those &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tags but has no other arrangements. The rest of the formatting is yours.&lt;br /&gt;
#That&#039;s all.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.2 (05/02/25) ==== &lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (sorry, correction on 7.4.1)&lt;br /&gt;
#CustomLogs: Null values are now correctly handled. If webtags can have null values modify your definition wit &#039;&#039;nv=&amp;quot;&amp;quot;&#039;&#039; or &#039;&#039;nv=0&#039;&#039;&lt;br /&gt;
#Diary: Colours in chart view are now configurable (See for parameters in section &#039;&#039;Diary&#039;&#039; in the inifile)&lt;br /&gt;
#ExtraSensors: The &#039;&#039;Laser sensors&#039;&#039; and &#039;&#039;Snow24h&#039;&#039; now can be read from the log - CMX b4073 now logs those values. The Compiler iis now fully functional to chart those values.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.1 (26/01/25) ==== &lt;br /&gt;
#NOAA: Fixed: when generated with &#039;&#039;thrifty website&#039;&#039;, only the current year in the drop down list of the report viewer was generated.&lt;br /&gt;
#ChartsCompiler: Fixed: The UserTemp[1-8] sensors now have the correct axis (Was distance)&lt;br /&gt;
#CustomLogs: &#039;&#039;#Snow24hr&#039;&#039; webtag is now working correctly. Harmonisation of Compiler keyword (now: &#039;&#039;Snow24h&#039;&#039;) and webtag (now: &#039;&#039;Snow24hr&#039;&#039;) maybe done later. Currently system and documentation are in line.&lt;br /&gt;
#Graphs: The miscellaneous charts &#039;Temperature Sum&#039; and &#039;Growing Degree Days&#039; now have a correct tooltip date (it was one day less than it should be)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.4.0 (14/01/25) ==== &lt;br /&gt;
#Diary: The max year is now correctly set after the new year i.e. for season 2024/2025 the max year remains 2024, after june the max year becomes 2025&lt;br /&gt;
#Diary: When looking at the chartview and changing the year, the view remains chartview. Note that the range does not yet follow the year setting.&lt;br /&gt;
#NOAA: Now generates correctly under thrifty in a year rollover.&lt;br /&gt;
#ExtraSensors: Added LaserDist[1-4] and LaserDepth[1-4] sensors&lt;br /&gt;
#Compiler: Added LaserDist[1-4] and LaserDepth[1-4] sensors (Extra) using Height axis&lt;br /&gt;
#Compiler: Added snow24h and snowdepth to the compiler (All/Daily) using Height Axis&lt;br /&gt;
#CustomLogs: Added webtags LaserDist[1-4], LaserDepth[1-4], snowdepth and snow24h using Height axis&lt;br /&gt;
#CustomLogs: Added temp9am series webtags&lt;br /&gt;
#CustomLogs: added webtag rweek&lt;br /&gt;
#Units: the Laser Sensors now use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#Units: Snow24h and SnowDepth now correctly use the snow unit definition of CMX (i.e. cm or in) on the Height axis&lt;br /&gt;
#ExtraSensors: Fix for null values in logfile when running &#039;&#039;UserAskedData&#039;&#039; &lt;br /&gt;
#Introduction of parameter Section: &#039;&#039;General&#039;&#039;, Parameter: &#039;&#039;ConnectNulls&#039;&#039;, default value: &#039;&#039;false&#039;&#039;. When false, gaps will be shown in the chart when null values are present. When true, a line is drawn between non-null. This parameter is in section &#039;&#039;General&#039;&#039; but at the moment only is valid for &#039;&#039;AirLink&#039;&#039; and &#039;&#039;Compiler&#039;&#039; modules (So all charts created by the compiler benefit).&lt;br /&gt;
&lt;br /&gt;
NOTE: this has to do with the handling of the null values in the logfiles of CMX where some null checks in the final stages of JSON generation by CUtils were incorrect. This error also occurs in other places and so far has been corrected in &#039;&#039;AirLink&#039;&#039; and &#039;&#039;ExtraSensors&#039;&#039; module. The other places require some more study. Null value issues may not be uncommon for a while but I intend to now wait for the fixes in CMX. &lt;br /&gt;
&lt;br /&gt;
The error will occur with failing sensors e.g. end of battery life (or sensors switched off for some reason).&lt;br /&gt;
&lt;br /&gt;
NOTE: The ExtraSensors chart may restart building its lines and not display the whole series for the  nr of hrs you configured. For CustomLogs you just run the module command, that will generate the whole series and after that it will continue incrementally. ExtraSensors does not have such feature and you will have to see the  lines grow for the hours configured. I will think about a redo of the full charts for ExtraSensors.&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.2 (10/12/24) ==== &lt;br /&gt;
#Diary: Fix Unit of &#039;&#039;snowDepth&#039;&#039; in chart axis (now: cm)&lt;br /&gt;
#Diary: Changed the reporting display of numbers. This way a &#039;0&#039; filled in field displays differently from an non-filled in field:&lt;br /&gt;
##both snowDepth and snow24h are filled in and a number (may be &#039;0&#039;) =&amp;gt; both are displayed&lt;br /&gt;
##only one of snowDepth and snow24h are filled in with a number (may be &#039;0&#039;) =&amp;gt; the number is displayed, the other has &#039;---&#039;&lt;br /&gt;
##both snowDepth and snow24h are &#039;&#039;not filled in&#039;&#039; =&amp;gt; one column centred &#039;---&#039; is filled in for that date&lt;br /&gt;
#Default Cumulus Charts: fixed for current CMX&lt;br /&gt;
#Language: &#039;&#039;TableView&#039;&#039; and &#039;&#039;ChartView&#039;&#039; can now be translated (section &#039;&#039;Diary&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.1 (06/12/24) ==== &lt;br /&gt;
#Diary: Fix for use of &#039;&#039;CumulusRealTimeLocation&#039;&#039;&lt;br /&gt;
#Diary: Fix for use of &#039;&#039;ModulePath&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 7.3.0 (04/12/24) ==== &lt;br /&gt;
&lt;br /&gt;
#General: Adjusted to the technical changes for CMX v4.3 (null values, Diary database)&lt;br /&gt;
#Dashboard: The rain now also shows the new weekly rainfall (as configured in CMX)&lt;br /&gt;
#CUhelptexts.txt: now also has a text for the Seasons graph&lt;br /&gt;
#Snow / Diary: the yearly reporting is ready&lt;br /&gt;
&lt;br /&gt;
NB: the changed Diary database makes this version not backwards compatible. Works only with CMX v4.3 and up&lt;br /&gt;
&lt;br /&gt;
==== Version 7.2.0 (19/10/24) ==== &lt;br /&gt;
No changes compared to beta 2&lt;br /&gt;
&lt;br /&gt;
#CDL: User Defined Language definition (UDL) for Notepad++ by @Nossis (Barry) has been added to the distribution. See [https://cumulus.hosiene.co.uk/viewtopic.php?t=22482 here].&lt;br /&gt;
#Graphs: The Frost Days Graph has been added in the Temp Graphs menu. It can be switched on/off through the parameter &#039;&#039;FrostDays&#039;&#039; (default is true) Thanks @MeteoSangonera for the motivation  :D &lt;br /&gt;
#Diary: A Diary module has been added. This module displays the content of the CMX Diary (version 1, this very likely may change at some point). Without content in the Diary, the menu does not display the choice otherwise it is found under Reports. This module will be functional when Mark finds the time to modify the database.&lt;br /&gt;
#CUhelptexts.txt: this file containing helptexts (the Info button in the right upper corner of some system charts), has been modified to contain text about the new &#039;&#039;Frost Days&#039;&#039; chart. This file needs to be copied to the utils directory manually, it is not a fixed part of the package because some users may wish to translate the texts. As such it may be seen as part of the language distribution.&lt;br /&gt;
#General: Unit Watt per square meter was written as &#039;&#039;W/M2&#039;&#039;. This is now &#039;&#039;W/m²&#039;&#039; (the UTF8 character ²). Note: this is visible in the Dashboard solar panel and in the Solar Graphs. The latter uses the translatable string &#039;&#039;YSESYaxis&#039;&#039; (yes I should have used comprehensible names in the first place). You can either remove your entry in your language file to regenerate the correct (English) string or you can change the text &#039;&#039;&#039;&#039;&#039;m2&#039;&#039;&#039;&#039;&#039; to &#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;m²&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&#039;&#039; which will give you direct satisfaction with this version.&lt;br /&gt;
#Compiler: SoilMoisture (Plot Variable): now has its own axis and automatically uses the correct unit. Please note that you may need to change translation. The term dimensionless is no longer valid for this axis.&lt;br /&gt;
#Extra Sensors: Adjusted for mod in CMX for nullable Extra Sensor values.&lt;br /&gt;
#General: With PHP upload an adjustment has been made to support the Brotli compression. Don&#039;t forget to tick or not to tick the CMX setting &#039;&#039;Internet Settings=&amp;gt;Web/Upload Site=&amp;gt;Advanced Settings=&amp;gt;Brotli Compression&#039;&#039;. This is default &#039;&#039;off&#039;&#039;. If it works in CMX it will work in CUtils.&lt;br /&gt;
#Custom Logs: Added webtags &#039;&#039;MonthRainfall&#039;&#039; and &#039;&#039;AnnualRainfall&#039;&#039; (which is the 400th webtag value you can plot!)&lt;br /&gt;
#Packages have been updated (notably SQLite has been upped compared to beta 2)&lt;br /&gt;
&lt;br /&gt;
NB: In earlier versions the technique for using the superscript 2 (²) was the HTML markup &amp;lt;nowiki&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/nowiki&amp;gt;, however after remarks of Mark and Andy I opted for the UTF8 character ².&lt;br /&gt;
&lt;br /&gt;
NB: The Diary report will not only have snow depth but will also have the Frost Days and Ice Days report on a per month basis i.e. the Frost Days chart displays the Frost Days on a per year basis, the report will do that monthly and text based. It will take some time as the Diary reporting depends on some changes  in CMX. Comments and suggestions are welcome.&lt;br /&gt;
&lt;br /&gt;
NB: CUtils now also has a runtimes directory which needs to be copied to the bin directory (like you do with CMX but the contents is different, do &#039;&#039;&#039;&#039;&#039;NOT&#039;&#039;&#039;&#039;&#039; mix)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.1 (08/07/24) ==== &lt;br /&gt;
#Maps: CUtils version is now indicated in the position information on the map (only valid when you run 4.1.1 and up)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.1.0 (27/06/24) ==== &lt;br /&gt;
#Home charts: Fixed show of first chart for the fallback charts (the original / old CMX charts i.e. when no CutilsCharts.def is present)&lt;br /&gt;
#Highcharts version: If the user does not specify the Highcharts version it now defaults to 11.2 (the last working version)&lt;br /&gt;
#CUlib: &#039;&#039;cumulusutils.js&#039;&#039; can now be generated independently as a module. It has its [[CumulusUtils_Runtime_Library|own wiki page]] explaining the functions users can access at runtime&lt;br /&gt;
#Supporting libraries: libs for FluentFTP and ServiceStack.Text have been upped to the latest version as of 19 june 2024.&lt;br /&gt;
#Rain Graphs: Fix: a year needs to have 350 valid registered days (was 364) to have a valid rain &#039;&#039;Station Average&#039;&#039; reference line.&lt;br /&gt;
#Highcharts: Modified the license statement in the website and in the LICENSE file&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.3 (22/05/24) ==== &lt;br /&gt;
Not a true release but just a non-optimised version which solved some issues&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.2 (10/05/24) modified 22h50 ==== &lt;br /&gt;
#CustomLogs: Update of the permitted webtag list. Added : #TempAvg24Hrs, CO2_pm1 and CO2_pm4 (and their _24 webtags)&lt;br /&gt;
#Added [i]#ByMonthTempAvg, #MonthTempAvg, #YearTempAvg[/i] as well&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.1 (08/05/24) ==== &lt;br /&gt;
#CustomLogs: Added parameter &#039;&#039;ExcludedCustomLogs&#039;&#039; (section &#039;&#039;CustomLogs&#039;&#039;). This may contain a comma separated list with names of &#039;&#039;CustomLogs&#039;&#039; which exist and are active, but should not be handled by CUtils&lt;br /&gt;
#CustomLogs: Fixed the JSON creation (&#039;&#039;UserAskedData&#039;&#039; and the &#039;&#039;CustomLogs&#039;&#039; commands)&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 (12/04/24) ==== &lt;br /&gt;
#Distribution: Removed &#039;&#039;CutilsMenu-example.txt&#039;&#039; from the distribution. This was the old config for menu System-1&lt;br /&gt;
#Graphs: Fix for a missing semicolon which prevented the Wind graphs to work properly&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 2 (05/04/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed the CO2 sensor webtag format for the realtime values from CO2- format (old and invalidated) to CO2_ (see [[Full_list_of_Webtags|Webtag List]])&lt;br /&gt;
&lt;br /&gt;
==== Version 7.0.0 public beta 1 (17/03/24) ==== &lt;br /&gt;
#General: The platform for CUtils version 7 will now be &#039;&#039;.NET 8&#039;&#039;. Instructions for installing &#039;&#039;.NET 8&#039;&#039; (for Linux) will be supplied in the CMX forum. All dll libraries have been updated! It is suggested you renew the &#039;&#039;cumulusutils&#039;&#039; installation completely (so: remove the old one if you are not making a completely new CMX directory). &lt;br /&gt;
#General: One major change for CUtils is that the CustomLogs require a comma field separator (it was advised to be a space). As a result the definition needs to be adjusted (replace the space between webtags with comma) and the existing data need to be edited. To do this (after the conversion): &lt;br /&gt;
##shutdown CMX and stop your scheduler/crontab jobs (see for details the notes in the release post)&lt;br /&gt;
##take a customlog in the editor and check if the conversion added comma separators after the date and the hour field. Than do the following:&lt;br /&gt;
##find the space separator and replace with a comma. Make sure no multiple comma separators come into the file (this should be an easy automatic editor operation).&lt;br /&gt;
##repeat for all your CustomLog datafiles&lt;br /&gt;
##start CMX and restart your scheduler/crontab jobs&lt;br /&gt;
#General: &#039;&#039;&#039;&#039;&#039;Duplication and Order of the data&#039;&#039;&#039;&#039;&#039; : CUtils V7 is able to detect duplication and order errors of data. For some reason CMX sometimes has duplicate times in the logs, this may create errors in charts and definitely faults your statistics. This test is activated by default but if you wish to leave the errors (bad, but correcting it may be a lot of work) or when you are done correcting you can switch the test off by setting the parameter &#039;&#039;CheckDateOrder&#039;&#039; (section  &#039;&#039;General&#039;&#039;) to &#039;&#039;false&#039;&#039; (default is &#039;&#039;true&#039;&#039;). It is a choice to act upon these warnings/errors but if you wish not to act, it is best to switch the feature off as it takes time. The errors are indicated in the logfile in the section reading the monthly logs.&lt;br /&gt;
#General: Extensive rewrite of all logfile reading because of the invariant write by CMX. Transparent for the user.&lt;br /&gt;
#General: The console output when run from the command line from now on has reduced informational (progress) and Error information. If you use a colour terminal the Error should jump out.&lt;br /&gt;
#Website: The URL now has the current report as parameter so if copied and pastes you can bypass the menu.&lt;br /&gt;
#Website: As a consequence of the URL parameters, the core of the runtime system was rewritten which as a spin off now has all charts generated by the [[ChartsCompiler]] being refreshed after the configured &#039;&#039;Interval&#039;&#039; nr of minutes.&lt;br /&gt;
#ChartsCompiler: To have more words in the drop down menu choice of a Charts class, make a chart-ID with underscores. Underscores will get replaced by spaces.&lt;br /&gt;
#ChartsCompiler: Added PERIOD for SMA stats line. If no period is given a default is given by the parameter &#039;&#039;SmaPeriod&#039;&#039; in section [Compiler]. See [[Charts_Definition_Language_(CDL)|CDL]] Plot Specification&lt;br /&gt;
#ChartsCompiler: STATS is now also possible on equation results (which have a different name than the CMX plotvars). &lt;br /&gt;
#ChartsCompiler: All axis will now be generated with min and max labels (min and max values will be shown), UV axis will now have soft max of 10.&lt;br /&gt;
#ChartsCompiler: Rewrite of the axis logic in the code generation. Should be transparant for the user.&lt;br /&gt;
#Graphs: If heatmap now has more than &#039;&#039;HeatmapNumberOfYearsPerPage&#039;&#039; (parameter) the chart starts now at the highest year.&lt;br /&gt;
#Sysinfo: Fixed : lines to be omitted from the systeminfo output on Windows&lt;br /&gt;
#Support: for the new CMX un/pw encryption&lt;br /&gt;
#Highcharts: there were two charts which did not work with HC 11.3 which had been accepted as bugs. The Heatmap is fixed but it is unknown when it propagates through the CDN. The Rain vs EVT chart has a workaround and should work. Advise: empty the parameter &#039;&#039;UseSpecificHighchartsVersion&#039;&#039;, if problems re-occur, use version 11.2&lt;br /&gt;
#HighCharts: There may be some cookie issues if you are working with Chrome. afawk other browsers are still working fine. No solution as yet. Please inform  me when having issues.&lt;br /&gt;
#Monthfiles: Because of the logfile invariance you may remove the parameter &#039;&#039;MonthsOfMiracleAndWonder&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.6 (30/01/24) ==== &lt;br /&gt;
#CustomLogs: Addition of &amp;lt;#stationpressure&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.5 (17/01/24) ==== &lt;br /&gt;
#General: Upgraded all libraries as shortly after the previous release it was found the no FTP variant did work anymore. Apparently nobody uses FTP anymore.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.4 (16/01/24) ==== &lt;br /&gt;
#General: The limit of data only after 27 Januari 2004 (start of Cumulus) has been lifted (under the condition that the logfile records have the length of todays records). CUtils can now read whatever number of years (current record is 1 Januari 1979)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.3 (14/01/24) ==== &lt;br /&gt;
#ChartsCompiler: Error messages improvement&lt;br /&gt;
#ChartsCompiler: If there is an error in the charts, a notification is now given in the terminal output&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.2 (10/01/24) ==== &lt;br /&gt;
#ExtraSensors: Fixed. The Lightning and CO2 sensors were incorrectly handled when both present&lt;br /&gt;
#SysInfo: If the parameter Tx (for WLL) is not filled in, the resulting SysInfo page will show an error: &amp;quot;A value for the Transmitter used is needed - please set parameter Tx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.1 (05/01/24) ==== &lt;br /&gt;
#Graphs: When creating the solar energy chart, the solar energy per day can be requested and will be written out to &#039;&#039;DailySolarEnergy.csv&#039;&#039;. The parameter involved is [General] &#039;&#039;NeedSolarEnergyDailyValuesInCSV=false&#039;&#039; (default)&lt;br /&gt;
#Language: Parameters &#039;&#039;LimitValues, Winter1, Spring, Summer, Autumn, Winter2&#039;&#039; have been added to the language file to  be translated.&lt;br /&gt;
#Charts: All axis involving Temperature will now - when using Fahrenheit scale - have a soft minimum of 32 F-degrees i.s.o. 0&lt;br /&gt;
#General: It is now possible to run CUtils from day one i.e. after having at least one rollover i.e. the dayfile has at least one record.&lt;br /&gt;
#ExtraSensors: Fixed a unreported issue with the lightning sensor&lt;br /&gt;
#Graphs: Fixed a minor issue with the normal and station reference lines in the Daily Rain chart&lt;br /&gt;
#SystemInfo: With the WLL device you now get a message if the Tx parameter is not filled in&lt;br /&gt;
&lt;br /&gt;
==== Version 6.23.0 (06/12/23) ==== &lt;br /&gt;
#Technical: A cleanup of the code wrt the JSON creation. Though this is not visible for the user it has impact and will require (international) regression testing.&lt;br /&gt;
#Technical: Redo the logfile reading along the  line  of the CustomLogs. This reduces complexity and unifies the method. Not visible for the user and will require (international) regression testing.&lt;br /&gt;
#Technical: Performance gain while reading the monthly logs as a result of the previous action.&lt;br /&gt;
#MeteoCam: Addition of &#039;&#039;EcowittHP10&#039;&#039; as &#039;&#039;CamType&#039;&#039; (the original being the default &#039;&#039;CamType Manual&#039;&#039;)&lt;br /&gt;
#Language: parameters &#039;&#039;NormalYearlyRainfall, StationYearlyRainfall, DailyRain, DailyEVT&#039;&#039; have been added.&lt;br /&gt;
#Graphs: In Rain vs EVT chart the plotline &#039;&#039;Normal Yearly Rainfall&#039;&#039; has been moved to he front and colour set to blue. The default title has the addition &amp;quot;Cumulative&amp;quot;. The user who already has this in the language file will need to change it manually.&lt;br /&gt;
#Technical: Deprecated the use of MySQL (i.e. the parameter &#039;&#039;UseSQL&#039;&#039; is no longer used and can be removed)&lt;br /&gt;
#CustomLogs: Webtag &#039;&#039;wchillH&#039;&#039; has been renamed &#039;&#039;wchillL&#039;&#039; from CMX b3264 and up.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.22.0 (23/11/23) ==== &lt;br /&gt;
#Units: fix for Distance as that was always km and should be corresponding the windspeed (mph =&amp;gt; mi, m/s =&amp;gt; km etc...)&lt;br /&gt;
#CustomLogs: addition of the following webtags: &#039;&#039;RecentApparent, RecentIndoorTemp, RecentIndoorHumidity&#039;&#039;.&lt;br /&gt;
#Graphs: addition of &#039;&#039;Rain versus EVT&#039;&#039; graph (in the Rain section)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.5 (16/11/23) ==== &lt;br /&gt;
#Sysinfo: Added reception status for Ecowitt devices&lt;br /&gt;
#Airlink and ChartsCompiler: WindBarbs is now a translatable word&lt;br /&gt;
#ChartsCompiler: added an Axis Height (ToDo: Wiki compiler spec.)&lt;br /&gt;
#Customlogs: Changed permitted webtag &#039;&#039;cloudbase&#039;&#039; to &#039;&#039;cloudbasevalue&#039;&#039; and attached axis Height&lt;br /&gt;
#Website: The pwsFWI button which in the past had been moved from the navbar to the header, has now been made configurable. If you add &#039;&#039;PwsfwiButtonInHeader=false&#039;&#039; to your [Website] section of &#039;&#039;cumulusutils.ini&#039;&#039; it will configure in the navbar just before the system led. The default for this parameter is &#039;&#039;true&#039;&#039; (placing the button in the header). Editing cumulusutils.ini yourself saves the labour of a second website run.&lt;br /&gt;
#CustomLogs: added the following webtags to the allowed webtag list: &#039;&#039;&amp;quot;windrunmonth&amp;quot;, &amp;quot;StormRain&amp;quot;, &amp;quot;RecentOutsideTemp&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentDewPoint&amp;quot;, &amp;quot;RecentHeatIndex&amp;quot;, &amp;quot;RecentHumidity&amp;quot;, &amp;quot;RecentWindSpeed&amp;quot;, &amp;quot;RecentWindGust&amp;quot;, &amp;quot;RecentWindLatest&amp;quot;, &amp;quot;RecentWindDir&amp;quot;, &amp;quot;RecentWindAvgDir&amp;quot;, &amp;quot;RecentPressure&amp;quot;, &amp;quot;RecentRainToday&amp;quot;, &amp;quot;RecentSolarRad&amp;quot;, &amp;quot;RecentUV&amp;quot;, &amp;quot;RecentWindChill&amp;quot;, &amp;quot;RecentFeelsLike&amp;quot;, &amp;quot;RecentHumidex&amp;quot;, &amp;quot;snowdepth&amp;quot;, &amp;quot;snowlying&amp;quot;, &amp;quot;snowfalling&amp;quot;, &amp;quot;Tbeaufortnumber&amp;quot;&#039;&#039;. &lt;br /&gt;
#Customlogs: webtags in the realtime table in the left pane are now displayed including the brackets and the hash (&#039;&#039;&#039;&amp;lt;# &amp;gt;&#039;&#039;&#039;) to facilitate the showing of possible [[Webtags/Parameters|modifying parameters]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.4 (12/11/23) ==== &lt;br /&gt;
#General: Fixed: Improved logging info when asking webtag values&lt;br /&gt;
#CustomLogs: made the realtime table animation &#039;&#039;slow&#039;&#039;&lt;br /&gt;
#ExtraSensors: Changed the realtime table height to &#039;&#039;70vh&#039;&#039;&lt;br /&gt;
#Uploading file: Fixed: The CMX &#039;&#039;Host&#039;&#039; parameter is only for FTP protocols. When using PHP upload &#039;&#039;PHP-URL&#039;&#039; needs to checked for not empty&lt;br /&gt;
#CustomLogs: If the CustomLog Frequency in minutes modulo the Internet Interval in minutes has a value other than zero, a warning is logged when the end of the log is reached and the last record time does not match the endTime.&lt;br /&gt;
#ChartsCompiler: Introduction for a specific path on the website when making modular use of CUtils and wanting to separate CUtils from the webroot files. Introduction of the parameters &#039;&#039;DoModular&#039;&#039; (cannot be combined with the Website command) and &#039;&#039;ModularPath&#039;&#039; which contains the path to the CUtils modules, relative to Webroot e.g. &#039;&#039;&#039;&#039;&#039;CUtils/&#039;&#039;&#039;&#039;&#039; (the closing slash is required as it is with &#039;&#039;CumulusRealtimeLocation&#039;&#039;). NOTE: Module and ModularPath does not hold for the AirLink module which is on the ToDo-list for Modular handling.&lt;br /&gt;
#CustomLogs: Added THWindex and THSWindex to the list of allowed webtags&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.3 (07/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed: The Ecowitt CO2 sensor has also an AirQuality sensor with four values which need an AQ axis.&lt;br /&gt;
#Website: Modification of website statistics parameters adding Matomo for a choice between Google and Matomo. Parameters have changed, see [[Website_Generator#Inifile_parameters|wiki]]. If you already use Google statistics, you will  need to set the new parameter &#039;&#039;StatisticsType&#039;&#039; to the value &#039;&#039;Google&#039;&#039; (the default for this new parameter  is empty).&lt;br /&gt;
#CustomLogs: Modified the layout and behaviour of the realtime values table in the left pane in relation to the chart chosen (length of table with &#039;&#039;overflow&#039;&#039; and a &#039;&#039;slideDown&#039;&#039; when change from RECENT to DAILY and vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.2 (04/11/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When reading the logfiles over a month boundary the transition to the next month was incorrect Thus the charts were missing the days in the new month.&lt;br /&gt;
#CustomLogs: Modified the CustomLogs - using the units and charts axis.&lt;br /&gt;
#Chartscompiler: solved a few bugs while implementing the CustomLogs Units and chart Axis. Non-critical in pre-6.21 versions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.1 (31/10/23) ==== &lt;br /&gt;
#CustomLogs: Fixed - When using &#039;&#039;CumulusRealTimeLocation&#039;&#039; the customlogs JSON&#039;s were not correctly located.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 (22/10/23) ==== &lt;br /&gt;
All functionalities of the previous beta&#039;s&lt;br /&gt;
&lt;br /&gt;
Main addition is the implementation of the CustomLogs module.&lt;br /&gt;
CustomLogs will:&lt;br /&gt;
#Make it easy to chart Lightning with the Ecowitt Lightning sensors (see below)&lt;br /&gt;
#Makes it possible to plot previously unavailable values (E.g. the Wet Bulb Temperature or 24 hour rain)&lt;br /&gt;
#... and whatever users may come up with - all webtags producing a value are available for plotting&lt;br /&gt;
&lt;br /&gt;
The CustomLogs module is also accessible as a module for displaying the charts in other websites. The realtime table is generated but not compulsory to use (using it in an other website requires additional handling and its use becomes  more complex). Data will be supplied daily by the &#039;&#039;CUtils USerAskedData&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
If a you create a CustomLog with the webtag &amp;lt;#LightningStrikesToday&amp;gt; - the Daily frequency is best as it is a daily total - automatically a chart with the daily number of strikes will be created when the module is activated. &lt;br /&gt;
&lt;br /&gt;
Default the CustomLogs are under the menu &#039;&#039;Extra&#039;&#039;. If the user chooses eventually a manual handling of those charts he can use that chart anywhere. &lt;br /&gt;
&lt;br /&gt;
Once configured, CustomLogs are a very powerful tool to chart any value available in CMX in any combination.&lt;br /&gt;
A picture - i.e. a chart - says more than a thousand words.&lt;br /&gt;
&lt;br /&gt;
Checkout the [[Release_Notes#Version_6.22.0_(xx/xx/23)|ToDo list for version 6.22.0]] and possibly propose a suggestion.&lt;br /&gt;
&lt;br /&gt;
Additional modifications since last beta:&lt;br /&gt;
#No more crashes when adding a webtag to an existing log&lt;br /&gt;
#All file copies created while running the module are now correctly removed&lt;br /&gt;
#Incremental now works only for a &#039;&#039;UserAskedData&#039;&#039; run&lt;br /&gt;
#For an Ecowitt device added the firmware version in SysInfo (when available)&lt;br /&gt;
#Webtag #CPUTemp is added to the list&lt;br /&gt;
#Webtag name comparison to the reference list is now case dependent (as it should be). So a case spelling error now correctly fails the webtag!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.21.0 beta 1 to 4 (10/10/23) ==== &lt;br /&gt;
#SysInfo: A distinction can be made for various Linux dialects when required. If needed contact me and we&#039;ll work it out.&lt;br /&gt;
#Sysinfo: openSUSE (Tumbleweed) has been implemented as Linux dialect.&lt;br /&gt;
#Forecast: SpotWx has been reinstated as default to prevent a crash while doing a new install.&lt;br /&gt;
#Units: When using m/s for speed, distance will be expressed in Km (distance in m is never used by CUtils).&lt;br /&gt;
#Graphs: Fixed the conversion of X-axis day number to date in the tooltip when applicable, when graphs used as module (not sure what happened here so report if not working!).&lt;br /&gt;
#General: Added the device types according to CMX v3.27.0 - b3250&lt;br /&gt;
#Gauges: Modified CUgauges.js to sync with gauges.js 2.7.7 of CMX 3.27.0 b3250&lt;br /&gt;
#CustomLogs: A first beta for a CustomLogs module. See the [[Custom Logs|Wiki page]] and [https://cumulus.hosiene.co.uk/viewtopic.php?t=21523 the forum post] specifically for this beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.20.0 (21/7/23) ==== &lt;br /&gt;
#Website: &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039; =&amp;gt; Files borrowed from CMX and (possibly) modified - notably: &#039;&#039;gauges.js, gauges-ss.css, language.js, RGraph.common.core.js, RGraph.rose.js, steelseries.min.js, tween.min.js&#039;&#039; - have been prefixed with &#039;&#039;&#039;CU&#039;&#039;&#039;. You need to do a full update i.e. with one run without thrifty. The reason for this is that some users started using the libraries from the CMX release and use all websites from the same directory. You should not do that and it will fail the system (For CumulusUtils or for your alternative website depending which is last placed in that location).&lt;br /&gt;
#Website: Please note that the [[Default Website Development|CMX Default Website Development]] is developing fast and the new &#039;&#039;Alternate Default Website&#039;&#039; changed its index filename to &#039;&#039;index.html&#039;&#039; (it always was &#039;&#039;index.htm&#039;&#039;). &#039;&#039;index.html&#039;&#039; is the same name as for the CumulusUtils website so you can no longer have those two websites in the same directory! The advised setup is always to create separate directories on the server for any website you create (which btw most of you, but not all, do). The data access is relative through the parameter &#039;&#039;CumulusRealTimeLocation&#039;&#039; and the &#039;&#039;Alternate Default Website&#039;&#039; will have a similar feature [https://cumulus.hosiene.co.uk/viewtopic.php?p=173045#p173045 as promised by Neil].&lt;br /&gt;
#Heatmap: The heatmap colour axis now has a range from 0 - 100 for the Fahrenheit scale for better resolution&lt;br /&gt;
&lt;br /&gt;
==== Version 6.19.0 (29/06/23) ==== &lt;br /&gt;
#General: some minor formatting corrections for use of imperial units&lt;br /&gt;
#General: Error correction and handling improved in case of an erroneous locale (in &#039;&#039;cumulusutils.ini&#039;&#039;)&lt;br /&gt;
#General: All dates displayed in the modules and website are now shown according to the locale defined in the language setting in &#039;&#039;cumulusutils.ini&#039;&#039;:&lt;br /&gt;
##Records: The Records, DayRecords and Top10 pages have been reworked to display the date/time in the local format used.&lt;br /&gt;
##pwsFWI: Adjusted for date formatting&lt;br /&gt;
##Graphs: Date in clock pane now follows local format. &lt;br /&gt;
##Gauges: Corrected the Danish language code to &#039;&#039;da&#039;&#039; i.s.o. &#039;&#039;DK&#039;&#039; and did that also for the gauges, this should be transparent for the user (Note the Danish locale is: da-DK).&lt;br /&gt;
##General: With this version, the use of the locale has been formalised. Please make sure you use the locale for your language/country as defined in [http://this%20Microsoft%20documenthttps://learn.microsoft.com/en-gb/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f this Microsoft document].&lt;br /&gt;
#HighCharts: All charts in CUtils will now display short dates (i.e. dd/mm/yyyy) according to the locale. This only is seen in the tooltips (e.g. the heatmap and Temperature Sum)&lt;br /&gt;
#Charts Compiler: To accommodate the mix of scatter with other plots, only the main y-axis (the first in the definition) now generates its gridlines, and the ticks for the different y-axis are no longer aligned. This will give a slightly different experience for the charts. &lt;br /&gt;
#General: Correction for the distance unit: meters is now possible (btw: not accessible for the user)&lt;br /&gt;
#Charts Compiler: The Distance Axis now works (Note: unit has to be reworked)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is understood that Norwegian, Danish and probably Swedish show different output for the C# compile time or for the javascript runtime.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.3 (10/06/23) ====&lt;br /&gt;
#Forecasts: Text around the &#039;&#039;Yourweather&#039;&#039; forecast table is now translatable (section: &#039;&#039;Forecasts&#039;&#039;)&lt;br /&gt;
#Forecasts: Default &#039;&#039;ForecastSystem&#039;&#039; is reset to &#039;&#039;YourWeather&#039;&#039; because &#039;&#039;SpotWX&#039;&#039; has an issue with cookies. If you have set &#039;&#039;SpotWX&#039;&#039; and want to change, please modify parameter &#039;&#039;ForecastSystem&#039;&#039; to &#039;&#039;YourWeather&#039;&#039;.&lt;br /&gt;
#Top10: Long Dry/Wet periods. Make sure the current period is taken into account when the period is not yet finished.&lt;br /&gt;
#Parameters: &#039;&#039;CMXport&#039;&#039; has been moved to section &#039;&#039;General&#039;&#039;. &#039;&#039;UseSpecificHighchartsVersion&#039;&#039; has been added to section &#039;&#039;General&#039;&#039; to facilitate the user who wishes to use a specific Highcharts version. If empty automaticly the last published version is used. If a specific version (e.g. 10.3.2) is entered then that one is used. No slashes, no spaces just &amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;dot&amp;lt;number&amp;gt;&lt;br /&gt;
#General: Some minor formatting changes for imperial units, this includes an axis boundaries change for the heatmap.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.2(05/05/23) ====&lt;br /&gt;
#Website: The value of &#039;&#039;MoonImageLocation&#039;&#039; was forced lowercase which was incorrect.&lt;br /&gt;
#Month files: While reading the month files it had internally a max number of errors (value 10) after which it stopped logging. That value is now parameterised inn section general. It has no influence on the processing of the files, just the logging of the errors.&lt;br /&gt;
#Month files: Fix for correct order of assignment in case of older logfiles where values may be missing (e.g. if EVT is not present, SolarRad is now read correctly).&lt;br /&gt;
#Top10: Removed a line which cause unexplained errors on an RPi. It is still unexplained what and why it happened so all RPi users are asked to check the logs once in a while and look for errors. Errors may appear as crashes or graphs not appearing at all. So far the cause seems to be in the environment but a true explanation has not been found.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.1(30/04/23) ====&lt;br /&gt;
#AirLink: The AirLink Help button now is upgraded to Bootstrap 5.2 (it did not open/close properly)&lt;br /&gt;
#Airlink Help: Corrected a broken link on the help page.&lt;br /&gt;
#pwsFWI: Fix for dry/wet periode: when a day rain amount is less than 0.2 it is not counted as rain so dry period continues&lt;br /&gt;
#Moon image: To avoid confusion when your site is used by more than one CMX instances and more than one CUtils sites, the moon image location is now always made explicit. Use: &#039;&#039;MoonImageLocation=&amp;lt;Full URL&amp;gt;&#039;&#039;. Include the image name in the URL! (best to manually add it to &#039;&#039;cumulusutils.ini&#039;&#039; and run &#039;&#039;website&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.18.0 (24/04/23) ====&lt;br /&gt;
#PHP upload: UTF8 header added. You need to use this CUtils version (and up) to use PHP upload with CMX 3.25.x and up&lt;br /&gt;
#Charts Compiler: Code  generation creates a global for windbarbdata to prevent apparent issues.&lt;br /&gt;
#Top10: Fixed a bug for the wet/dry periods. Those are now correct.&lt;br /&gt;
#Airlink: Winddata are now fetched through the API for both incremental and full json data upload (requires 3.25 as well)&lt;br /&gt;
#DayRecords: The report is now independent of thrifty to have correct formatting and prevent out of date reports&lt;br /&gt;
#Helptexts: The titles of the Helptext modal screens for the Graphs module now have titles fitting the charts they belong to (and not &amp;quot;Daily Rain&amp;quot; as it was)&lt;br /&gt;
&lt;br /&gt;
NOTE: It is required to use CMX version 3.25.0 (and up) with this version of CUtils (and up).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.3 (15/03/23) ====&lt;br /&gt;
#General: technical wrap up of the past quick successive releases&lt;br /&gt;
#General: Sync up to CMX 3.24.2&lt;br /&gt;
&lt;br /&gt;
Although no functional changes it is advised to update. &lt;br /&gt;
If any anomalies please report.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.2 (13/03/23) ====&lt;br /&gt;
#UserAskedData: Fix for duplicate CO2 sensor entries in the &#039;&#039;ExtraSensors&#039;&#039; JSON for Ecowitt CO2 sensor. Required for PHP upload (incremental uploads)&lt;br /&gt;
#General: Fix for a wrong DateTime format in RecordsBeganDate generating a crash. If format is not correct (must be &#039;&#039;dd/MM/yy&#039;&#039;) then the date is reset to first date in database and a warning is issued in the logfile.&lt;br /&gt;
#Upload: Fix for CUtils upload to other directories than the location of &#039;&#039;upload.php&#039;&#039;. The &#039;&#039;UploadDir&#039;&#039; in section FTP site is now taken into account&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.1 (08/03/23) ====&lt;br /&gt;
#Parameter DoneToday: For both parameters &#039;&#039;DoneToday&#039;&#039; the format is now set as ISO to prevent an error caused by mono for some locales&lt;br /&gt;
#ExtraSensors: The module ExtraSensors now correctly translates the plotvariables, defaults come from &#039;&#039;strings.ini&#039;&#039; (see [[Extra_Sensors#Translation/Language|wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.17.0 (05/03/23) ====&lt;br /&gt;
#Top10 &amp;amp; DailyRecords: parameter &#039;&#039;UseScrollableTables&#039;&#039;. When false no scrollbar or defined height is shown for modular use, when true otherwise. Released as patch 1 to version 6.16.0&lt;br /&gt;
#General: Introduction of parameter &#039;&#039;RecordsBeganDate&#039;&#039; in section General (independent of CMX parameter &#039;&#039;StartDate&#039;&#039;). When set to a date (format: dd/MM/yy) it will be used as the startdate of the data in charts and reports no matter the actual startdate in dayfile or monthfile.&lt;br /&gt;
#Uploads: Introduction of the PHP upload protocol present in CMX version 3.24.0 and up&lt;br /&gt;
#Menu: The menuitem &#039;&#039;Print&#039;&#039; is added (add to &#039;&#039;CutilsMenu.def&#039;&#039; (top level) if you want to use it). This provides the possibility to print what is in the &#039;&#039;ReportView&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.16.0 (12/02/23) ====&lt;br /&gt;
#ExtraSensors: Fix for Ecowitt AirQuality sensors typo (released as patch 1 to 6.15.6)&lt;br /&gt;
#Top10: records now has top 10 list of minimal rain per month added. Technical update of this module&lt;br /&gt;
#Top10: records now also has a scroll bar (on the containing div)&lt;br /&gt;
#YADR: Fix for nr of decimals for the Rain report when using inches&lt;br /&gt;
#Misc Graphs: Fix for the season chart which is now corrected with an addition of 10 days to winter 1 (counting not the start but the end of the 10 day temperature grace period)&lt;br /&gt;
#Fix gauges.js: The init was done at document ready which made the modifications ineffective. Init is now after the modifications.&lt;br /&gt;
&lt;br /&gt;
NOTE: This is the first major update for the oldest module of CUtils ;)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.6 (30/01/23) ====&lt;br /&gt;
#Functionality of 6.15.6 but now working correctly&lt;br /&gt;
Additional modifications:&lt;br /&gt;
#ChartsCompiler: Fix for the units of the ExtraSensors&lt;br /&gt;
#ExtraSensors: Fix for realtime values for the ExtraSensors&lt;br /&gt;
#Lightning Sensor: Added the date to the time of last strike&lt;br /&gt;
#Lightning Sensor: Whichever unit the distance it is always presented rounded to the nearest integer&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.5 (29/01/23) ====&lt;br /&gt;
#General: The number of solar hours has a non-translated unit &#039;&#039;&#039;hrs&#039;&#039;&#039;. This is removed as the description label is sufficient.&lt;br /&gt;
#ExtraSensors: Added the Lightning Sensor. Activate with parameter &#039;&#039;LightningSensor=true&#039;&#039;.&lt;br /&gt;
#ExtraSensors: Added coulour changeindicators (using the same colour as main dashboard: &#039;&#039;ColorDashboardTextAccent&#039;&#039;).&lt;br /&gt;
#StationMap: Reshuffled the code for the rotation of map objects. Now the map loads correctly after the User map (which it didn&#039;t, might you not have noticed it)&lt;br /&gt;
#Unit Pressure: Pressure in &#039;&#039;hPa&#039;&#039; is now in one decimal (to get better distinction in Records modules) and in &#039;&#039;inHg&#039;&#039; is now 2 decimals.&lt;br /&gt;
#Chartscompiler: Fix for pressure with a decimal comma (locale dependent) is now always converted to a decimal point for the Dashboard.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.4 (16/01/23) ====&lt;br /&gt;
#General: When a unit rate of change is displayed it was &#039;&#039;&#039;/hr&#039;&#039;&#039; or &#039;&#039;&#039;/h&#039;&#039;&#039; in all languages. Now it can be translated through the &#039;&#039;PerHour&#039;&#039; translation tag in section &#039;&#039;[General]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.3 (12/01/23) ====&lt;br /&gt;
#General: fix - forced some configuration parameter values to be lower case (so &#039;&#039;True&#039;&#039; is read as &#039;&#039;true&#039;&#039;)&lt;br /&gt;
#ChartsCompiler: When loading a charts collection (e.g. &#039;&#039;cumuluscharts.txt&#039;&#039;) the version of HighCharts is now displayed in the console&lt;br /&gt;
#Highcharts: fix - the version of Highcharts to version 10.3.2 to make the INFO keyword work again and because the colour bug has been fixed&lt;br /&gt;
#Highcharts: added &#039;&#039;thousandsSep = &amp;quot;&amp;quot;&#039;&#039; to the HighchartsLanguage.js (set the thousands separator to empty string)&lt;br /&gt;
#Graphs: The heatmap now has a normal date in the tooltip&lt;br /&gt;
#Graphs: changed the fourth default value for &#039;&#039;GraphColors&#039;&#039; to #ed9b00 (darker goldish) i.s.o #DDDF00 (hardly visible yellow)&lt;br /&gt;
#StationMap: Position of the Arrow now is fixed -0.02 degree longitude from the station marker, map is centred on the station marker.&lt;br /&gt;
#Wiki: added an explanation of the scaling of the charts on [[Charts_Definition_Language_(CDL)#The_Chart_Axis|the CDL page]].&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.2 (04/12/22) ====&lt;br /&gt;
#ChartsCompiler: Fix - Keyword INVISIBLE can now also be used at the end of the PLOT definition line.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.1 (02/12/22) ====&lt;br /&gt;
#ChartsCompiler: Addition of the Keyword INVISIBLE to suppress a chart line at initialisation of the chart&lt;br /&gt;
&lt;br /&gt;
==== Version 6.15.0 (27/11/22) ====&lt;br /&gt;
#ExtraSensors: Major rewrite. Configuration now through inifile parameters, strings.ini is now secundary. Thanks for the help while testing :D&lt;br /&gt;
#Website: Correction for the night image for the header (which was never selected)&lt;br /&gt;
#Website: The generation date in the version strings is now &amp;quot;g&amp;quot; i.e. the short format in the locale CUtils is running in. Note that the date in the clock can be different format because that comes from CMX.&lt;br /&gt;
#Website: Some minor corrections in spelling and messages for the console&lt;br /&gt;
#Pressure charts: The max and min values are now handled to accommodate the imperial units (inHg)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.4 (22/11/22) ====&lt;br /&gt;
#ChartsCompiler: The yAxis for pressure now displays the units according to the a new formatter (2 decimals for inHg and 0 decimals for mb and hPa)&lt;br /&gt;
#Website: When using &#039;&#039;inHg&#039;&#039; as pressure unit, the realtime dashboard not displays &#039;inHg&#039; i.s.o. &#039;in&#039; (just as everywhere else)&lt;br /&gt;
#Record: The records page now starts &amp;lt;AllYears&amp;gt;/&amp;lt;Current Month&amp;gt; similar to DayRecords (which starts in &amp;lt;Current Month&amp;gt;).&lt;br /&gt;
#Highcharts: Fixed the Highcharts release to 9.1.0 (in line with CMX) to prevent error regression with new releases (which appear to occur too often)&lt;br /&gt;
#Highcharts: The tooltip for the (average) bearing is now correct.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.3 (19/11/22) ====&lt;br /&gt;
#HTTP: For HTTPS sometimes the connection fails on the SSL layer for unknown reasons. This issue has now been circumvented.&lt;br /&gt;
#Website: Unit for Elevation was always in meters. Now, when given in feet, it shows the correct unit (ft)&lt;br /&gt;
#Graphs: The Temperature HeatMap now also works properly for Fahrenheit&lt;br /&gt;
#Units of Pressure: Internally the pressure unit was read from CMX through the wrong parameter name therefore it was always hPa. That is now corrected.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.2 (03/11/22) ====&lt;br /&gt;
#ChartsCompiler: The Windbarbs now have a tooltip which shows the wind unit used on the site (it was &#039;&#039;m/s&#039;&#039;).&lt;br /&gt;
#AirLink: As in ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.1 (31/10/22) ====&lt;br /&gt;
#ChartsCompiler: And in the process of the previous fixed a bug on EOF detection.&lt;br /&gt;
#Website: Drop down user menu&#039;s are now automatically adjusted in width to accommodate large width multiword menu choices&lt;br /&gt;
#Website: The Extra top menu is not generated if there is no AirLink and No Extra Sensors preventing erroneous formatting of the menu.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.14.0 (22/10/22) ====&lt;br /&gt;
#Website: Menu System 2 is released. [[User_Defined_Menu|See Wiki]]. &lt;br /&gt;
#ExtraSensors: AirQuality sensors do have the current value and the 24 hr average value (two sensors in one). If the 24 hr average sensor has not been identified/named by the user in strings.ini, it will receive a default name to prevent corrupting the system.&lt;br /&gt;
#StationMap: activated the weather data below the arrow.&lt;br /&gt;
#Charts Compiler: The default &#039;&#039;CutilsCharts.def&#039;&#039; in the distribution has been updated to reflect &#039;&#039;Windbarbs&#039;&#039; and &#039;&#039;Zoom&#039;&#039; keywords.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.1 (10/10/22) ====&lt;br /&gt;
#General: (6.13 patch 1) Cutils now runs on MacOS too (detection of OS &#039;&#039;Darwin&#039;&#039;). NOTE: SysInfo needs to be worked on with the user)&lt;br /&gt;
#Website: (6.13 patch 2) Bugfix for display of the date when the date separator is a point.&lt;br /&gt;
#ExtraSensors: (6.13 patch 3) Bugfix for reading the double amount of data from the logfile (rounding down error for start/end time to 0 seconds)&lt;br /&gt;
#HelpSystem: Now all graphs work with the Info system (NOTE: Only the WindRose does not work is still problematic)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.13.0 (08/10/22) ====&lt;br /&gt;
#ExtraSensors: Bug fix for passing a month boundary when rollover time is other than midnight (9 or 10 am)&lt;br /&gt;
#Graphs: Addition of a help system for the Graphs (the climate charts) analog to the Info keyword of the ChartsCompiler. See [[Help_System|the Wiki page]].&lt;br /&gt;
#Language: The word &#039;&#039;Info&#039;&#039; has been moved to the section General of the CUstringsXX.ini. You can remove it from the section Compiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.2 (28/9/22) ====&lt;br /&gt;
#Extra Sensors: Bug fix for risk of duplicate Temperature chart under the English language&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.1 (28/9/22) ====&lt;br /&gt;
#Addition of ZOOM keyword in CDL (see [[Charts_Definition_Language_(CDL)|wiki]])&lt;br /&gt;
#Clean up of the Chart block in the [[Charts_Definition_Language_(CDL)|wiki]]&lt;br /&gt;
#Menu System2: The menu definition file now can contain blank lines (no further additions)&lt;br /&gt;
#ChartsCompiler: The word Info was erroneously placed in &#039;&#039;cumulusutils.ini&#039;&#039; and has been move to the language file (you may remove it from cumulusutils.ini)&lt;br /&gt;
#Logging: Several corrections and modifications in severity in the messages&lt;br /&gt;
#Extern Extra Sensors: A fix for a possible error condition during a month boundary transition.&lt;br /&gt;
#YADR: a fix for the windrun classes when dimension is other than &#039;&#039;km&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 6.12.0 (22/9/22) ====&lt;br /&gt;
#ChartCompiler: The keyword &#039;&#039;Info&#039;&#039; on a chart was introduced. When used on a chart the word Info appears left of the chart exporting menu. When clicked, a modal popup is displayed with the user specified help text. See [[Charts_Definition_Language_(CDL)#Info_specifier|the Wiki]] for further specification.&lt;br /&gt;
#Website: System 2 for the user defined menu has been introduced (in beta, [[User_Defined_Menu|See wiki]])&lt;br /&gt;
#Logging: Reduced the verbosity in the log while generating the rain and temperature graphs.&lt;br /&gt;
#Gauges: Contains the fix for the bug &#039;&#039;CumulusRealTimeLocation&#039;&#039; in 6.11.0 which previously was published as a patch&lt;br /&gt;
&lt;br /&gt;
==== Version 6.11.0 (10/09/22) ====&lt;br /&gt;
#Website: Bugfix - The positioning of the odometer suddenly started to fail on some hardware/browser combination. A fix was  released comprising of a change in gauges.js and gauges-ss.css adding the &#039;&#039;odo class&#039;&#039;. To facilitate those changes the website code had a minor change.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.10.0 (03/09/22) ====&lt;br /&gt;
#AirLink: Bugfix - a correction in the order of the CMX AQI formula&#039;s as used in CUtils (selectable in CMX: CA comes after EU and not before!)&lt;br /&gt;
#ExtraSensors: Bugfix - Corrected the unit in the tooltip of the CO2 temperature line (Ecowitt WH45)&lt;br /&gt;
#ChartsCompiler: Bugfix - Corrected an issue with the scatter charts which was highlighted with the v10 release of Highcharts and which also had an issue in Chrome (see previous post)&lt;br /&gt;
#Website: Corrected several [https://validator.w3.org/ HTML Markup Validation] errors in the &#039;&#039;index.html&#039;&#039;&lt;br /&gt;
#AirLink: The Referenceline thickness is now configurable (default = 4) through parameter &#039;&#039;ReferenceLineThickness&#039;&#039;&lt;br /&gt;
#Website: Upgraded the website to Bootstrap 5.2 This has consequences for your &#039;&#039;CUsermenu.txt&#039;&#039;. The &#039;&#039;data-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; must be replaced by &#039;&#039;data-bs-toggle=&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;dropdown&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039; and dropdown items are no longer &amp;lt;nowiki&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; but &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt; combinations. Checkout the &#039;&#039;CUsermenu-example.txt&#039;&#039; in the distribution for the changes.&lt;br /&gt;
#General: Upgraded the libraries: FluentFTP, ServiceStack.Text, MySqlConnector&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.9 (10/08/22) ====&lt;br /&gt;
#Libraries: Updated FluentFTP.dll, ServiceStack.Text.dll and MySqlConnector.dll to their latest versions (38.0.0; 6.2.0 and 2.1.11)&lt;br /&gt;
#Website/General: Technical update for signature files&lt;br /&gt;
#InetSupport: Some minor changes in FTP/FTPS handling&lt;br /&gt;
#ChartsCompiler/Windbarbs: Windbarbs are now (almost) equidistant for any nr of days plotted.&lt;br /&gt;
#AirLink: The identification of the United Kingdom in the parameter &#039;&#039;CountrySelected&#039;&#039; (section &#039;&#039;AirLink&#039;&#039;) has changed to UK iso GB to make it analog to CMX.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.6 (08/07/22) ====&lt;br /&gt;
#Website/General: Allow for images as background to charts. Note that this does not necessarily work when used modular.&lt;br /&gt;
#ChartsCompiler: bug fix - allow for STATS function(s) to use EXTRA plotvars&lt;br /&gt;
#ChartsCompiler: Small experiment =&amp;gt; Removed the  limitation on scatter series to be combined with other types.&lt;br /&gt;
#General: some cleaning up of old code.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 patch 1 (02/07/22) ====&lt;br /&gt;
#ChartsCompiler: bug fix - related to (EXTERNAL) EXTRA sensors&lt;br /&gt;
#ChartsCompiler: bug fix - use CumulusRealTimeLocation when reading winddata for the WindBarbs&lt;br /&gt;
#ChartsCompiler: bug fix - have the colour of the WindBarbs configurable to stand out against any chart background colour (implemented in [[Charts Definition Language (CDL)|CDL]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.5 (01/07/22) ====&lt;br /&gt;
#Extra Sensors: Completed the External Extra Sensor functionality (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#ChartsCompiler: Completed the Windbarbs feature in CDL (see [https://cumulus.hosiene.co.uk/viewtopic.php?t=20516 this post])&lt;br /&gt;
#General: Disabled the ALL commandline parameter to avoid the apparent confusion it being a partial website commandline parameter&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.2 (26/06/22) ====&lt;br /&gt;
#Compiler: Added the optional language construct &amp;quot;&#039;&#039;Has WindBarbs [Below | Above]&#039;&#039;&amp;quot;. See Wiki CDL. This feature is beta.&lt;br /&gt;
#Fix AirLink: Reading the AirLinkLog required an additional condition for preventing an infinite loop (and running out of memory/swap).&lt;br /&gt;
#Fix Airlink: The windbarb xAxis on top is now aligned with the xAxis below&lt;br /&gt;
#Fix MeteoCam: Corrected the Upload for the MeteoCam output when the user does not use  it.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.1 (16/06/22) ====&lt;br /&gt;
#UserAskedData: DayEVT now correctly gets the  data in the CUserdataALL.json&lt;br /&gt;
#SFTP: A workaround if the ECDSA cipher is asked is now implemented similar to CMX&lt;br /&gt;
&lt;br /&gt;
==== Version 6.9.0 (14/06/22) ====&lt;br /&gt;
#Cutils runtime  library: one minute &#039;&#039;UpdateInterval&#039;&#039; (see CMX FTP parameters) is now acceptable&amp;lt;br/&amp;gt;NOTE: this is meant for local webservers and not for internet transfers.&lt;br /&gt;
#ChartsCompiler: Changed keywords in the ALL/DAILY set of keywords to prevent conflicts with the RECENT keywords. Check the [[Charts_Definition_Language_(CDL)|CDL Wiki]] (check your chart definitions!). The changed keywords are:&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;AvgWindChill&amp;quot; (was: &amp;quot;WindChill&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;HighAvgWindSpeed&amp;quot; (was: &amp;quot;WindSpeed&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayRain&amp;quot; (was: &amp;quot;RainFall&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;quot;DayEVT&amp;quot; (was: &amp;quot;EvapoTranspiration&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
#ChartsCompiler: fine tuned the rain and rainrate axis : the last label (highest number) is now shown and the rain/rate gridlines are only shown when not disturbing other gridlines.&lt;br /&gt;
#AirLink: AirLink charts now too works with 9 am (and 10 am) rollover hour (phew...)&lt;br /&gt;
#Map: If no link is given for the website it is now clearly indicated in the pop-up.&lt;br /&gt;
#Website: [[Website_Generator#Header_Background_Images|Multiple header image selection]] at runtime now actually works&lt;br /&gt;
#General: the software libraries have been upgraded&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.3 (03/05/22) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: when no or very little rain occurs over the whole selected period the max y-axis keeps too high value for e.g. inches.&lt;br /&gt;
#General: The usage message is now shown as a first action when no arguments are given (i.s.o. first initializing FTP and Dayfile)&lt;br /&gt;
#SysInfo: Added WLL statistics&lt;br /&gt;
#Sysinfo: Added inifile parameter &#039;&#039;ExtraStationInfo&#039;&#039; to enter free format information for non-Davis stations.&lt;br /&gt;
#Website: Multiple header images are now possible for each phase of the day: DAY, CIVIL twilight, NAUTICAL twilight, ASTRONOMICAL twilight and NIGHT. See the [[Website_Generator#Header_Background_Images|wiki]].&lt;br /&gt;
#Day records table has now possibility to scroll (configure &#039;&#039;UseScrollableTables&#039;&#039;=true (default)), section [General]). DayRecords and pwsFWI modules now use &#039;&#039;thin&#039;&#039; scrollbar which does not work in chrome.&lt;br /&gt;
#Map: Users will now always appear on the map, the link to their site is no longer compulsory (but highly appreciated).&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.2 (19/04/22) ====&lt;br /&gt;
#Fix: some glitches in the handling of the low limit of the rainfall&lt;br /&gt;
#Change: for a clean install take care the FTP/UploadDir gets in the inifile on the first run so it is easier for the user to continue.&lt;br /&gt;
#Change: Now the defaults for &#039;&#039;DoLibraryIncludes&#039;&#039; &amp;amp; &#039;&#039;GeneratejQueryInclude&#039;&#039; parameters is false; When using CUtils in a modular fashion set these to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
#AirLink: Created the possibility to use the module as a standalone page (just a html page with the data in current directory, no other context required).&lt;br /&gt;
#Wiki: important modifications wrt [[Language_in_CumulusUtils#Trouble_in_Paradise_.28for_version_.3C_7.0.0.29|Language in Utils / Trouble in Paradise]] and [[Extra_Sensors#Dependency|Dependency]] of the ExtraSensors on the use of the ChartsCompiler.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.1 (03/04/22) ====&lt;br /&gt;
#General: Overhaul of units and (internal) unit conversions because imperial units are being used now seriously (mi and inches). &lt;br /&gt;
#graphs: Wind graphs / Windrun chart - adjusted the tooltip to clarify better.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors remains in beta until (probably) end of may. Notice will be given when usable.&lt;br /&gt;
#Please note that the modified [[Charts_-_Wind_charts|Wind Chart Wiki]] is also part of this release wrt the legend.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.8.0 (29/03/22) ====&lt;br /&gt;
#UserReports: Introduction of Cutils dedicated webtags. Currently only &amp;lt;#CUversion&amp;gt;. Released as a patch for 6.7.14 on 28 march&lt;br /&gt;
#ExtraSensors: Bug fix to prevent reading the log for every sensor. Now read only once.&lt;br /&gt;
#Logging: Created the possibility to switch logging completely off. Parameter: &#039;&#039;LoggingOn&#039;&#039;.&lt;br /&gt;
#Logging: Console Messages are regulated by parameter &#039;&#039;NormalMessageToConsole&#039;&#039; which is independent of other settings.&lt;br /&gt;
#ExtraSensors: ExternalExtraSensors are still in beta&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.13 (27/03/22) ====&lt;br /&gt;
#Graphs: Correction for the southern  hemisphere for the temperature sum and seasons charts.&lt;br /&gt;
#Extra Sensors: Addition for [[External Extra Sensors]] in beta.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.12 (not released) ====&lt;br /&gt;
#Top10: Ecowitt registers rain with 0.1 mm precision. For the dry and wet period records in top10 a rainfall of 0.1 mm is ignored.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.11 (03/03/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler, it now also initialises correctly when using the OUTPUT specifier or the ExtraSensors module.&lt;br /&gt;
#Graphs: Bug fix for Solar hours chart - the ratio between Solar Radiation and Max Radiation (determining the hours of sunshine) had a conversion error (integer to float)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.10 (26/02/2022) ====&lt;br /&gt;
#ChartsCompiler: Bug fix: When using the ChartsCompiler stand-alone (CompileOnly), the  output can now be used in the CUtils website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.9 (26/02/2022) ====&lt;br /&gt;
#Charts (Home and ExtraSensors): Fixed a bug in the initialisation which in some cases showed a weird value for the last point plotted&lt;br /&gt;
#Changed the fourth default chart colour (see HighchartsDefaults.js) from #DDDF00 (yellow) to #ed9b00 (yellowish gold orange)&lt;br /&gt;
#ExtraSensors: Corrected a bug for LeafWetness sensor&lt;br /&gt;
#Sysinfo: Memory information now shows swap device too&lt;br /&gt;
#Some minor corrections&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.8 (02/01/2022) ====&lt;br /&gt;
#Changed RECENT keyword &#039;SolarRadiation&#039; to &#039;CurrentSolarRad&#039; (see [[Charts_Definition_Language_(CDL)|specification]])&lt;br /&gt;
#An equation now requires an Axis spec or gets default Axis Free. If the Axis spec is missing only a warning appears in the log&lt;br /&gt;
#Bug fix for case independency which in equations sometimes was not correctly handled. Plotvariables are now really case independent, even in equations.&lt;br /&gt;
H/T AndyKF650 who did spend some serious time on testing all corners of the ChartsCompiler!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.7 (24/11/2021) ====&lt;br /&gt;
#Website: Fix for the initialisation of the gauges. Now the gauges init is called after the settings of the CumulusUtils user parameters.&lt;br /&gt;
#A total of three patches have been released with improvements as output of a day of testing by AndyKF650 (Thank you Andy for the effort!). The patches will be assembled into the next - and probably final release - of the version 6 series. Version 7 will be from a technological point of view a very different and non-compatible version.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.6 (23/11/2021) ====&lt;br /&gt;
#Forecast: Fix for new Norwegian forecast URL&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.5 (22/11/2021) ====&lt;br /&gt;
#Website bugfix: Now you get the moon rise and set times with the CMX moon image as well (apologies for my release management recently)&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.4 (22/11/2021) ====&lt;br /&gt;
#The moondisc now can be chosen to be the CMX moondisc (See the [[Dashboard#The_Lunar_Disc|Wiki]])&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.3 (21/11/2021) ====&lt;br /&gt;
Equal to 6.7.2 but this time packaged correctly and also working under Windows 7.&amp;lt;br/&amp;gt;&lt;br /&gt;
Version 6.7.2 is withdrawn because of a packaging error affecting the libraries. This causes a problem on Windows, as fas as it is understood only on Windows 7.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;s&amp;gt;Version 6.7.2 (20/11/2021)&amp;lt;/s&amp;gt; ====&lt;br /&gt;
&amp;lt;s&amp;gt;A technical update related to ServiceStack.Text.dll (5.13.2) and Renci.SshNet.dll (2016.1.0.0)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Withdrawn.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.1 (25/10/2021) ====&lt;br /&gt;
#A patch version to get rid of a disturbing &#039;&amp;gt;&#039; above the index file in the website&lt;br /&gt;
&lt;br /&gt;
==== Version 6.7.0 (25/10/2021) ====&lt;br /&gt;
#Infrastructure: Update to .NET Framework 4.8, Update of MySqlConnector (1.3.14), ServiceStack.Text (5.12.0) and SSH.NET (2020.0.1)&lt;br /&gt;
#Website: Upgrade to Bootstrap 4.6.0&lt;br /&gt;
#gauges.js: Added a console message &#039;&#039;&#039;Gauges Init Done...&#039;&#039; to have an anchor for debugging&lt;br /&gt;
#Dashboard: Added an empty header to an empty pane (configration of dashboars)&lt;br /&gt;
#Maps: Corrected some logic which made it possible for website users to evade the map. Now it is again obligatory (http address and Lat/Lon are compulsory)&lt;br /&gt;
#ExtraSensors: For the command  line parameter &#039;&#039;ExtraSensors&#039;&#039;, now the &#039;&#039;CompileOnly&#039;&#039; parameter is  implicit. This means that now the command &#039;&#039;utils/bin/cumulusutils.exe ExtraSensors&#039;&#039; is enough to create the resulting &#039;&#039;extrasensorscharts.txt&#039;&#039;&lt;br /&gt;
#ExtraSensors: The Extra Sensor identification string in strings.ini is now silently transferred directly to the [Compiler] section in the CUlangXX.ini file so that the legend display is immediately understandable without user interference. Any later change to that string has to be made through the language file. With a total reconfiguration of the Extra Sensors it is best to delete all Extra Sensor parameters in the language file compiler section.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.5 (14/10/2021) ====&lt;br /&gt;
#Technical: Upgrade of third party libraries (ServiceStack.Text; MySqlConnector; Renci.SshNet).&lt;br /&gt;
#Charts: Corrections on Daily Rain, Temp Sum, Growing Degree Days and Thermal Seasons charts for situations where not enough data exist to either create the moving average or the chart as a whole. As a work around you may simply switch the chart off until you have enough data, typically the Moving Average period (for the daily rain or EVT charts) or the first day of the year is valid start day (for the agricultural charts). &#039;&#039;&#039;This is only relevant if you are a new user of CMX and typically have less than a year of valid data.&#039;&#039;&#039;&lt;br /&gt;
#Charts: Code correction when data for a month does not exist in the statistical charts per month. Added a semicolon to make console logging possible (yes, semicolons are relevant in javascript).&lt;br /&gt;
#Technical: Initialisation of the gauge parameters was erroneously removed during the previous version 6.6 edits. Sorry for that.&lt;br /&gt;
#Dashboard: Now it is possible to move the Wind Gauges individually as well. See [[dashboard]] for an explanation. Note that to move events as well you need the [[ChartsCompiler]], if you are a starter in CDL, please use the &#039;&#039;CutilsCharts.def&#039;&#039; from the distribution.&lt;br /&gt;
&lt;br /&gt;
NOTE: this release requires to replace fully the contents of the utils and the utils/bin directory!&amp;lt;br/&amp;gt;&lt;br /&gt;
NOTE: this release definitely requires a full non-thrifty run to get the all generated code in line!&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.1 (12/10/2021) ====&lt;br /&gt;
#Fix: If either CUsermenu.txt or CUserAbout.txt does not exist, the realtime.txt will not  be read. You can either install this fix (only the executable is required) or create those (empty) files in the webroot.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.6.0 (11/10/2021) ====&lt;br /&gt;
#Compiler, AirLink, ExtraSensors: modules now behave properly under thrifty (meaning they will not update the code).&amp;lt;br/&amp;gt;Changes to the configuration as always will require a non-thrifty run.&lt;br /&gt;
#Internal: Finally unified all the ajax calls to the latest standards (users will not notice I hope but please report on any anomaly).&lt;br /&gt;
#Records: Fixed a bug for a translation tag for the Wind Run Distance. Now it shows correctly distance i.s.o. speed.&lt;br /&gt;
#General: Fixed an issue with certificates (Let&#039;s Encrypt) with the [https://community.letsencrypt.org/t/openssl-client-compatibility-changes-for-let-s-encrypt-certificates/143816 transition to OpenSSL 1.1.0]. See also [https://cumulus.hosiene.co.uk/viewtopic.php?f=14&amp;amp;t=19753 this thread] on the forum and also [https://cumulus.hosiene.co.uk/viewtopic.php?p=157268#p157268 this thread on Windy], note you land on a reply by Mark containing a clear action on how to deal with RPi (what is valid for Raspbian 8 you can also apply for Raspbian 9 &amp;amp; 10). If you don&#039;t, don&#039;t worry: CumulusUtils will still work.&lt;br /&gt;
&lt;br /&gt;
The last point causes an additional requirement to use Mono 6 and up under Raspbian Linux. In itself this should not be a problem. If you update along [https://linuxize.com/post/how-to-install-mono-on-debian-10/ these instructions] you should  have no problems. If Mono is on a lower version this is automatically detected and where required, specific access to https servers is avoided. This all is only required for the CumulusUtils user map so however unfortunate that you will be missing the map and won&#039;t be on it with Mono 5 and lower, all main functionality of CumulusUtils won&#039;t be touched.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.2 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: bug fix for the logic when extra sensor logging is off in CumulusMX and you&#039;re generating a website&lt;br /&gt;
#AirLink: bug fix in the filename for the ExtraSensors and AirLink logfile when chart period crosses a month boundary&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.1 (16/9/2021) ====&lt;br /&gt;
#ExtraSensors: updated the layout of the table in the dashboard and text and background colour of the header now follow the general dashboard header settings&lt;br /&gt;
#ExtraSensors: Added  some additional logging while writing the ExtraSensors Charts code&lt;br /&gt;
#ChartsCompiler: The Free axis (dimensionless) now has the &amp;quot;ChartsId + dimensionless&amp;quot; as axis title such that the user can give his own description (and unit) through the translation&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 (13/9/2021) ====&lt;br /&gt;
#Release of the Extra Sensors module. For the functionality see [[Extra_Sensors|the Wiki]] and the notes below, down to 6.1.2&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 3 (13/9/2021) ====&lt;br /&gt;
#Modified the text colour of the Extra Sensors table to follow the menu text (as the colouring follows the menu colouring)&lt;br /&gt;
#Revisited the reading of the ExtraSensors logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Revisited the reading of the AirLink logfile to avoid double data (and an annoying horizontal line)&lt;br /&gt;
#Cleanup of the Airlink and ExtraSensors logfiles will not be on the basis of CreationTime but on the basis of LastWriteTime&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 2 (12/9/2021) ====&lt;br /&gt;
#Detection of a CO2 sensor falsly took the CO2 concentration as a double where it must be an integer =&amp;gt; corrected, CO2 sensor should no longer be falsly detected (remember [https://www-users.cse.umn.edu/~arnold/disasters/ariane.html Ariane 5] :? ).&lt;br /&gt;
#The extrasensorsdata.json was searched in the CumulusRealTimeLocation which was not correct, cumulusutils specific datafiles are always in the webroot. =&amp;gt; corrected.&lt;br /&gt;
#Extra sensors are now also detected as NOT PRESENT when their entry in strings.ini is EMPTY&lt;br /&gt;
&lt;br /&gt;
==== Version 6.5.0 beta 1 (9/9/2021) ====&lt;br /&gt;
#AirLink: Clean-up AirLink logs can now be configured through parameter &#039;&#039;CleanupAirlinkLogs&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#Internal/AirLink: the airlinkrealtime.txt is now generated with the rc=y to create the decimal point. For an update you need cumulusutils.js library so do at least one non-thrifty run.&lt;br /&gt;
#ExtraSensors: Clean-up ExtraSensors logs can now be configured through parameter &#039;&#039;CleanupExtraSensorslog&#039;&#039;. Only two months of data will be kept when clean-up is active.&lt;br /&gt;
#ExtraSensors: Limited beta 1 release of ExtraSensors module.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.2 (2/9/2021) ====&lt;br /&gt;
#Bug fix: NOAA - On the first day of a month it does no longer try to display the NOAA report of that month (which caused a failure) but it displays the report of the previous month.&lt;br /&gt;
#Internal: Reading monthly logs gained roughly 20-30% speed by doing things differently, especially important for long time series and minute sampling stations&lt;br /&gt;
#Internal: Optimisation of AirlinkLog reader and Dayfile reader&lt;br /&gt;
#Extra Sensors: Created the possibility to show the [https://maps.sensor.community/?nowind#2/0.0/0.0 Sensor Community] map from the &#039;&#039;Extra&#039;&#039; menu. The map will be centred on the Latitude/Longitude of the station and displayed on a reasonable zoom level and without the wind layer (see [https://meteo-wagenborgen.nl/ my site for a demo]). The user can then zoom in/out and possibly activate the wind layer. No other sensor.community processing is done, the user is repsonsible for actually uploading its sensor data to sensor.community outside CMX environment. &lt;br /&gt;
&lt;br /&gt;
Inifile parameters: &lt;br /&gt;
 [ExtraSensors]&lt;br /&gt;
 ExtraSensors=false&lt;br /&gt;
 ParticipatesSensorCommunity=true&lt;br /&gt;
&lt;br /&gt;
Of which &#039;&#039;ParticipatesSensorCommunity&#039;&#039; regulates the menu-item of the sensor.community map and &#039;&#039;ExtraSensors&#039;&#039; for the moment has no effect.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.1 (24/8/2021) ====&lt;br /&gt;
#Bug fix: Certain information was not in the logfile which made life quite difficult if an error occurred.&lt;br /&gt;
&lt;br /&gt;
==== Version 6.1.0 (23/8/2021) ====&lt;br /&gt;
#All modules: Mentions of inspiration moved to the About/CumulusUtils section of the menu.&lt;br /&gt;
#All modules: preparatory work for Extra Sensors, only to decide hoew the userinterface will be.&lt;br /&gt;
#All Charts: The chart container now has a General parameter: &#039;&#039;ChartContainerHeight=650&#039;&#039; giving it a standard height for all chart occurrences. For website users this does not really matter (the default value  is what it was) but those who use Graphs and/or the ChartsCompiler as a module will see an effect and they will be able to set the height value to what is wanted for their site. You can remove other (old) occurrences of &#039;&#039;ChartContainerHeight&#039;&#039; (may be multiple in other sections) from the inifile.&lt;br /&gt;
#All Charts: All charts are now boxed with the thin line with curved corner for uniform appearance. This is also valid for modular use and may require slight adjustment of your site.&lt;br /&gt;
#WindCharts: Added a section to the Wiki on how to deal with the labels for an 8 section weatherstation (default is 16)&lt;br /&gt;
#RainCharts: Rewrote the calculation for the reference lines of Station Average Yearly Rainfall. Now incomplete years (less than 365 days) do not count.&lt;br /&gt;
#RainCharts: StdDev range for the station average now can not become less then zero&lt;br /&gt;
#Maps Wiki: The &amp;amp; (ampersand) character is forbidden in the &#039;&#039;LocDesc&#039;&#039; parameter in the section [Station] in Cumulus.ini because it breaks the cgi-bin perl procedure&lt;br /&gt;
#AirQuality: All references (and internal variable names and (output) file names) with AirQuality have been redone with AirLink to prevent future misunderstanding with Extra Sensors. So: I changed the output file to airlink.txt&lt;br /&gt;
#Inifle parameter: Changed the inifile &#039;&#039;section AirQuality&#039;&#039; to &#039;&#039;section AirLink&#039;&#039;. You may want to rename the section to prevent reconfiguration of the AirLink. &lt;br /&gt;
#Language file: Changed the parameter &#039;&#039;AirQuality&#039;&#039; in the &#039;&#039;section Website&#039;&#039; to &#039;&#039;AirLink&#039;&#039;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: the &#039;&#039;&#039;section AirQuality&#039;&#039;&#039; in the language file remained the same because it is generic!&lt;br /&gt;
#Website: Added menu item Extra and moved &#039;&#039;AirLink&#039;&#039; (was: &#039;&#039;AirQuality&#039;&#039;) to it. This in preparation for Extra Sensor handling&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.1 (07/08/2021) ====&lt;br /&gt;
#MeteoCam: Added labels for MeteoCam page radio buttons to the Language file (section Website) to be translated by the user&lt;br /&gt;
#Dashboard: Added &#039;&#039;Feels Like&#039;&#039; to the Dew-Gauge&lt;br /&gt;
#ChartsCompiler: The ALL Plot variable &#039;&#039;WindSpeed&#039;&#039; has been modified to &#039;&#039;HighAvgWindSpeed&#039;&#039; to prevent conflict with the RECENT WindSpeed variable (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: Corrected the equations for Psat[....] in the Equations section of the &#039;&#039;CutilsCharts.def&#039;&#039; (example in the distribution). &lt;br /&gt;
#ChartsCompiler: Added the raw pwsFWI charts for RECENT and ALL in the &#039;&#039;CutilsCharts.def&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;gauges.js&#039;&#039; and &#039;&#039;language.js&#039;&#039; have changed so you need to copy all i.s.o just the executable and run at least once without thrifty! You may remove the js and css files from the utils directory after this first run to prevent successive redundant uploads.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &#039;&#039;feels like&#039;&#039; text(s) in language.js have not been translated for all languages. You may send missing translations by PM and they will be added in future distributions&lt;br /&gt;
&lt;br /&gt;
==== Version 6.0.0 (21/07/2021) ====&lt;br /&gt;
#ChartsCompiler: Finalisation. &lt;br /&gt;
#Website: Added SolarHours to the Solar text panel&lt;br /&gt;
#Website: Made the position of the panels user definable (See the new [[Dashboard]] Wiki page)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.2 (25/06/2021) ====&lt;br /&gt;
#Misc Charts: Fixed bug in counting days in thermal season chart.&lt;br /&gt;
#Misc Charts: Fixed bug in thermal season chart, it now works correctly on the southern hemisphere. (Tip: use modified thermal boundaries to see useful seasons for your latitude)&lt;br /&gt;
#Misc Charts: Set the default for &#039;&#039;Thermal Seasons chart&#039;&#039; to false &lt;br /&gt;
#ChartsCompiler: Implemented the POW function (raise a double to some power: POW(number, power). Implemented as Math.pow javascript function&lt;br /&gt;
#ChartsCompiler: Implemented the SQRT function as Math.sqrt function&lt;br /&gt;
#ChartsCompiler: Added equations and charts to the CutilsCharts.def&lt;br /&gt;
#ChartsCompiler: Implemented multiple equation subtitutions e.g. (Avp stands for : Actual Vapour Pressure):&lt;br /&gt;
&lt;br /&gt;
       Psat2008 EVAL [ 6.112 * EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
       Avp Eval [ Humidity / 100 * Psat2008 ]&lt;br /&gt;
       AppTemp Eval [ Temperature + 0.33 * Avp - 0.7 * WindSpeed / 3.6 - 4.0 ]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.1 (17/06/2021) ====&lt;br /&gt;
#ChartsCompiler: Fixed bug in counting brackets in equations under some conditions.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.6.0 (13/06/2021) ====&lt;br /&gt;
#MeteoCam: First release of a simple MeteoCam (Webcam) module. See [[MeteoCam|Wiki]].&lt;br /&gt;
#ChartsCompiler: Lines starting with a semicolon [;] are now treated as comment.&lt;br /&gt;
#ChartsCompiler: Equations section added (see [[Charts_Definition_Language_(CDL)|wiki for CDL]]) and they can be substituted in other EVAL equations&lt;br /&gt;
#ChartsCompiler: EVAL and STATS now work for both the ALL and the RECENT ranges&lt;br /&gt;
&lt;br /&gt;
NOTE: The combination of the EQUATIONS block and the EVAL of PLOT makes it possible to evaluate more complex (as in meteorological) Equations. The Possibility of combining Plotvariables and calculations makes it possible to evaluate different approximations for e.g. Dewpoint. Both clarified by the example below. The release contains as usual a complete set of test charts. Sometimes with meaning, sometimes just for testing. This set of test charts is an example and a test. Nothing more.&lt;br /&gt;
&lt;br /&gt;
 Equations&lt;br /&gt;
   test1 EVAL [ Humidity/100 * 6.112 ]&lt;br /&gt;
   test2 EVAL [ EXP(17.62*Temperature/(243.12+Temperature)) ]&lt;br /&gt;
&lt;br /&gt;
 ; Documentation:&lt;br /&gt;
 ; https://iridl.ldeo.columbia.edu/dochelp/QA/Basic/dewpoint.html&lt;br /&gt;
 ; Compare the Dewpoint from Cumulus with a calculated approximation&lt;br /&gt;
 ; Later I will enter the Cumulus Calculation and have the Dewpoint be produced by the Davis station&lt;br /&gt;
 ; Nice comparison&lt;br /&gt;
 ;&lt;br /&gt;
 Chart MyDewpoint Title Dewpoint Calculations in CDL&lt;br /&gt;
   Plot RECENT Dewpoint&lt;br /&gt;
   Plot RECENT CalcDewpoint EVAL [ Temperature - ((100 - Humidity)/5) ] Axis Temp&lt;br /&gt;
 ;  STATS Dewpoint SMA colour green&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
 Chart MyPressure Title Vapour pressure calculations in CDL&lt;br /&gt;
   Plot RECENT Pressure&lt;br /&gt;
   Plot RECENT MyActualVapourPressure Eval [ test1 * test2 ] Axis Free&lt;br /&gt;
 EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.2 (06/06/2021) ====&lt;br /&gt;
#pwsFWI: the Current pwsFWI button now has forced text colour (not inherited by the background)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.1 (03/06/2021) ====&lt;br /&gt;
#Compiler: Value arrays need to be reinitialised when the chart remains open and has its periodic (ftp upload frequency) refresh.&lt;br /&gt;
#pwsFWI: the Current pwsFWI button moved to the Left Header Text position to improve handling on a portrait held tablet&lt;br /&gt;
#General: Provided for non-contiguous data series (missing years and/or months).&lt;br /&gt;
&lt;br /&gt;
==== Version 5.5.0 (29/05/2021) ====&lt;br /&gt;
#Distribution: file &#039;&#039;CUabout.txt&#039;&#039; has a name change: CUserAbout-example.txt. CUserAbout.txt - if it exists - will be automatically uploaded with the package&lt;br /&gt;
#Distribution: file CUsermenu.txt will be automatically uploaded if it exists&lt;br /&gt;
#Distribution: file &#039;&#039;CUlicense.txt&#039;&#039; has been removed and replaced by the file LICENSE (with identical content to the website menu choice)&lt;br /&gt;
#Compiler: Errorhandling of Expression in case of error, now gives an error in the definition of the charts and fallback to the default charts (it was a warning)&lt;br /&gt;
#Compiler: STATS and PLOT are now handled as equal entry  points of the PLOT section of the CHART (see prev version of CDL image to appreciate the difference)&lt;br /&gt;
#Compiler: a PLOT variable may now have a non-keyword name but if so, it &#039;&#039;&#039;MUST&#039;&#039;&#039; be followed by an equation which contains a valid Plotvariable, if not an error is generated. &lt;br /&gt;
#Compiler: And if a PLOT has an Eval equation it &#039;&#039;&#039;MUST&#039;&#039;&#039; now have a non-keyword name to prevent confusion and make a unique legend entry (useful for modification or translation)&lt;br /&gt;
#Compiler: Added the function LN (being the natural logarithm of its argument) &lt;br /&gt;
#Compiler: Added the function EXP (being the power function with base &#039;&#039;e&#039;&#039;)&lt;br /&gt;
#Compiler: All Plotvariables can be used in one single equation to be combined with operators and functions &#039;&#039;&#039;NOTE: this must be seen as beta function&#039;&#039;&#039; as it is impossible to check all combinations of variables, operators and functions. I don&#039;t expect this to work flawlessly although confident. Just play with it and provide me with observations and questions for functionality.&lt;br /&gt;
#Compiler: The SUM function can only be used once per chart&lt;br /&gt;
#Wiki: Updates conform development (please notify voids or unclarities)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#Because meteo-equations can reach a certain complexity (definitely when written on a single line) a change is considered which should  make it possible to use Plotvariables as intermediate calculations or have a definition of partial equations (not plotted) which you might use in Plot. As an example (see the last chart below) One might consider calculating a dewpoint with the Actual Vapour pressure as an intermediate equation. &lt;br /&gt;
#A second change which is considered is making the EVAL and STATS available for the RECENT parameters as well&lt;br /&gt;
However, the side effects of the above may be larger than expected, so it requires some study. In the mean time : have fun!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
All calculations and array handling in the generated code are totally unsophisticated and non-optimised. This will only change slowly as performance is astonishingly good, beyond expectations, even on my old tablet and phone. Performance reports are welcome.&lt;br /&gt;
&lt;br /&gt;
Below you find three test charts as examples to show what is now possible (the full testset is as always in &#039;&#039;CutilsCharts-example.def&#039;&#039; in the distribution and viewable on my site):&lt;br /&gt;
&lt;br /&gt;
  CHART DailyTemp TITLE Temp with statistics offset 5&lt;br /&gt;
    PLOT ALL AverageTemp colour pink&lt;br /&gt;
    PLOT ALL sumAverageTemp EVAL [ ln(Sum(AverageTemp-5)) ] COLOUR green AXIS DegreeDays&lt;br /&gt;
    STATS AverageTemp SMA COLOUR crimson&lt;br /&gt;
  EndChart Output Statistics.txt&lt;br /&gt;
&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL sumRainFall EVAL [ exp(ln(SUM( RainFall))) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart &lt;br /&gt;
&lt;br /&gt;
  Chart MyDewPoint Title Dewpoint calculations in CDL&lt;br /&gt;
    Plot all minBarometer &lt;br /&gt;
    Plot all maxBarometer&lt;br /&gt;
    Plot All ActualVapourPressure Eval [ MinHumidity/100 * 6.112 * EXP(17.62*AverageTemp/(243.12+AverageTemp)) ] Axis Pressure&lt;br /&gt;
  EndChart&lt;br /&gt;
&lt;br /&gt;
==== Version 5.4.0 (21/05/2021)) ====&lt;br /&gt;
#Language: Create a distinguishable legend in the chart for the columnrange variable (section [Compiler] in CUstringsXX).&lt;br /&gt;
#Compiler: Implementation of keyword EVAL(uation) of an expression for a PLOT with any weather variable.&lt;br /&gt;
#Compiler: Implementation of the STATS keyword which will plot a statistic on any weather variable&lt;br /&gt;
#Compiler: Implementation of the SUM function for the EVAL keyword&lt;br /&gt;
#Compiler: Implementation of the SMA ([https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average Simple Moving Average]) statistic as first statistic function.&lt;br /&gt;
#Compiler: Elaboration of Error messages.&lt;br /&gt;
&lt;br /&gt;
Example code for the EVAL and STATS keywords:&lt;br /&gt;
  CHART DailyRain TITLE Rain with statistics&lt;br /&gt;
    PLOT ALL RainFall colour CornflowerBlue as column &lt;br /&gt;
    PLOT ALL RainFall EVAL [ SUM( RainFall ) ] COLOUR crimson AXIS Free&lt;br /&gt;
    STATS RainFall SMA colour green&lt;br /&gt;
  EndChart OUTPUT Statistics.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
&lt;br /&gt;
[[File:Schermafbeelding 2021-05-21 154949.jpg|center|Use of EVAL and STATS in the ChartsCompiler]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.8 (18/5/2021) ====&lt;br /&gt;
#Fix : A fix in errorhandling for a condition which occurs only on Win7 and has been introduced in 5.3.0 or a bit later, h/t @meteo19.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update is advised!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.7 (15/5/2021) ====&lt;br /&gt;
#Misc Charts: Fixed a bug in the titles for the agricultural charts, where the parameters data in the Title were showing fixed values&lt;br /&gt;
#Maps: Send signature file only once per day (parameter [Maps] DoneToday added)&lt;br /&gt;
#ChartsCompiler: Added DAILY range specifier (See [[Charts_Definition_Language_(CDL)|CDL]])&lt;br /&gt;
#ChartsCompiler: DAILY or ALL charts now have different initial rangeselector: DAILY has 1 month, ALL has 1 year&lt;br /&gt;
#ChartsCompiler: added &#039;&#039;columnrange&#039;&#039; as type for variables which have max and min values (see [[Charts_Definition_Language_(CDL)#Graph_Types|CDL Graph Types]] for some implicit semantics)&lt;br /&gt;
#Added MySQL as a data source alternative to the original datafiles (usage: disadvised and undocumented)&lt;br /&gt;
&lt;br /&gt;
NOTE: In the search for performance improvement and efficiency the MySQL usage has been implemented and experimented with. The conclusion was that MySQL will not serve a better performance in the context of CumulusUtils. I decided to take another route to stay within the the design goals of CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
NOTE: The ColumnRange type specifier was already on the roll and was implemented in the compiler after [https://cumulus.hosiene.co.uk/viewtopic.php?f=40&amp;amp;t=19360 an idea by @buffaloseven] and a technical hint by @beteljuice: H/T!&lt;br /&gt;
&lt;br /&gt;
Example code for the &#039;&#039;ColumnRange&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 CHART DailyTemp TITLE Daily Temperature with ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour green As ColumnRange&lt;br /&gt;
  PLOT DAILY AverageTemp colour black As spline&lt;br /&gt;
 EndChart OUTPUT ColumnRange.txt&lt;br /&gt;
&lt;br /&gt;
Which results in:&lt;br /&gt;
[[File:Avergare Temeprature with range.jpg|center|Average Temperature with ColumnRange]]&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.6 (06/05/2021) ====&lt;br /&gt;
#Maps: Some users run Cutils output in iframes. Some recent modifications in Maps were not correctly handled in iframes. That has been corrected.&lt;br /&gt;
#ChartsCompiler: The  runtime system now handles click events only for the Home page charts (the click event system will need a bigger overhaul in future)&lt;br /&gt;
#ChartsCompiler: OUTPUT is now out of beta&lt;br /&gt;
&lt;br /&gt;
Unknown issue: the NOAA reports are not shown on a Samsung tablet but do work elsewhere. Other observations are welcome. An unknown additional click event is generated. Currently looking into.&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.5 (02/05/2021) ====&lt;br /&gt;
#Charts: bug fix: Agricultural charts now handle few data and no start on January (or July first) correctly&lt;br /&gt;
#Charts: Agricultural/Seasonal charts now start correctly on July 1 in the southern hemisphere (H/T @mcrossley)&lt;br /&gt;
#Charts: graphs which are switched off now not only won&#039;t be present in the menu but they won&#039;t be generated either (reduction of size of the output, time gain)&lt;br /&gt;
#ChartsCompiler: Output can be defined separately for each chart. See [[Charts_Definition_Language_(CDL)#Output_specifier|Charts Definition Language]] and the [[ChartsCompiler#Output|ChartsCompiler]]. (bêta for the OUTPUT specifier only)&lt;br /&gt;
&lt;br /&gt;
==== Version 5.3.3 (27/04/2021) ====&lt;br /&gt;
#Charts: added the third Agricultural chart showing the proportional distribution of [[Charts_-_Misc_charts#Thermal_Seasons|the thermal seasons]] over the year (H/T @Pes for the idea).&lt;br /&gt;
#Website: Added the Wiki-link to the About menu&lt;br /&gt;
#pwsFWII: Changed the reference for the scientific background to the Wiki&lt;br /&gt;
#FTP issue: &#039;&#039;lack of TLS session resumption support in FluenFTP&#039;&#039;.&lt;br /&gt;
#The previous point led to a major overhaul of the FTP / Map situation:&lt;br /&gt;
# =&amp;gt; no more regular FTP in the Map module, use is  made of a HTTP POST / CGI handling of the &#039;&#039;signature file&#039;&#039;&lt;br /&gt;
# =&amp;gt; everybody wanting to use the map can download https://meteo-wagenborgen.nl/maps.txt and include that the normal way in their website (it is done automatically through the software)&lt;br /&gt;
# =&amp;gt; For the normal internal FTP usage, FTP and FTPS protocols remain supported but in case of server issues the only option is to go to SFTP&lt;br /&gt;
# =&amp;gt; Unfortunately the logfile does not accept UTF8 characters so you may get confused, but be assured they are handled well in the Map context&lt;br /&gt;
&lt;br /&gt;
==== version 5.3.0 (17/04/2021) ====&lt;br /&gt;
#Manual: Replaced the README with the Wiki (https://cumuluswiki.org/a/Category:CumulusUtils). All articles are in place. In some foreseeable future the README will get different contents, this is the last release of the manual.&lt;br /&gt;
#Several review quality modifications as a result of the writing of the Wiki.&lt;br /&gt;
#Infile parameters: added DoLibraryIncludes to  have an unambiguous parameter to determine whether or not to include the highcharts libraries and/or Leaflet library when using e.g. Graphs, Maps and the compiler as a module outside the Website Generator. NOTE: for module users this may have effect on you: CHECK!&lt;br /&gt;
#ChartsCompiler: Corrected an error in the document load of the compiler output for modular use.&lt;br /&gt;
#Inet: Changed logging around the FTP connection for all protocols&lt;br /&gt;
#Enabled the Thrifty qualifier for individual module runs.&lt;br /&gt;
#AirQuality: removed the helpbutton text when used as a module.&lt;br /&gt;
#Removed the use of Thrifty for the Map module. Parameter MapsPeriod has no more use (can be removed).&lt;br /&gt;
&lt;br /&gt;
==== version 5.2.0 (08/04/2021) ====&lt;br /&gt;
#Added two growing season graphs (specific for Agriculture): Temperature Sum and Growing Degree Days in the miscellaneous graphs menu. Translations as usual. (suggestion h/t : @Pes)&lt;br /&gt;
#Unification of the maximum number of visible series when year-series are in a chart (e.g. Monthly Rain). Inifile parameter MaxNrOfSeriesVisibileInGraph is now valid for all charts of this type.&lt;br /&gt;
#FTPS now uses automatic choosing between Passive and Extended Passive (default when available) mode.&lt;br /&gt;
#FTPS protocol now accepts SSL 3.0 and TLS 1.0 as well. If any problems arise please let me know.&lt;br /&gt;
#Some minor bugs and typos.&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.2 (31/03/2021) ====&lt;br /&gt;
#Website: UserAskedData did not serve the AirQuality data under certain conditions&lt;br /&gt;
#Errorhandling: Added InnerException info in Map for the Upload of the signaturefile&lt;br /&gt;
#Website: Determine Daylights Saving Time for the station clock no longer requires a non-thrifty run of CumulusUtils.&lt;br /&gt;
#Map: FTP connection now uses Automatic passive  mode (Extended or Standard depending on the server)&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.1 (23/03/2021) ====&lt;br /&gt;
# Website: Fixed a bug for double loading of the first chart&lt;br /&gt;
# Website: Finished the optimisation of library loading (defer)&lt;br /&gt;
# Heatmap: Fixed a bug with the All button for larger series&lt;br /&gt;
&lt;br /&gt;
==== version 5.1.0 (22/03/2021) ====&lt;br /&gt;
# Heatmap: Added two more colours for a more dynamic display.&lt;br /&gt;
# Heatmap: For long series the display is split  in pages of 10 years (default but configurable) with buttons Prev/Next and All to walk through the pages.&lt;br /&gt;
# ChartsCompiler: The Solar axis when used for only the radiation now has a scale fixed to the current theoretical solar maximum. The image therefore does not easily change.&lt;br /&gt;
# ChartsCompiler: added RECENT and ALL qualifiers for the Plot variables. Updated the definition specification. Option for the legacy DAILY charts is available but not now implemented.&lt;br /&gt;
# ChartsCompiler: Added HeatingDegreeDays, CoolingDegreeDays and EvapoTranspiration as Plot variables.&lt;br /&gt;
# ChartsCompiler: Added yAxis for DegreeDays and Evapotranspiration.&lt;br /&gt;
# ChartsCompiler: Added the infrastructure to add JSON data if CMX does not provide (like e.g. the Evapotranspiration). &lt;br /&gt;
# UserAskedData: Commandline parameter UserAskedData provides the JSONs for non provided data and encompasses missing weather data and AQ data (the old AirQuality Thrifty handling is now obsolete).&lt;br /&gt;
# Dayfile: Modified for additional parameters and global handling of the list.&lt;br /&gt;
# Monthfiles: Modified to read only one or two files to create a list for the subselection for the RECENT graphs (evapotranspiration and maybe other possibilities).&lt;br /&gt;
# Monthfiles: Addition of inifile parameter MonthsOfMiracleAndWonder. If CumulusUtils uses a Locale other than that of CMX the filenames for the monthly logfiles are formed differently. In case of trouble edit this string to create CMX matching filenames. &lt;br /&gt;
# Website: Moved to jQuery 3.6.0 &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.4 (09/03/2021) ====&lt;br /&gt;
# AirQuality: patch release to account for a build error.&lt;br /&gt;
 &lt;br /&gt;
==== version 5.0.3 (07/03/2021) ====&lt;br /&gt;
# AirQuality: bug fix concerning the windbarbs in relation to the renewed unit handling (as introduced in 4.10.5).&lt;br /&gt;
# Graphs: Fixed a bug in the heatmap where a zigzag blue line was visible (sometimes in front, sometimes in back). &lt;br /&gt;
# Graphs: Added the HighchartsDefaults and HighchartsLanguage as the includes when graphs used as modules. NOTE: this will modify the look and feel of the graphs slightly, especially the axis.&lt;br /&gt;
# Internal: Review of all ajax calls.&lt;br /&gt;
# NOTE: when using graphs as a module, users can modify the height of the Graphs container by specifying in a style section of their template: #chartcontainer {min-height: 620px;}&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.2 (04/03/2021) ====&lt;br /&gt;
# WindGraphs: Acceleration of the WindRose creation by 35%&lt;br /&gt;
# WindGraphs: For 8 sector wind direction stations (e.g. Fine Offset) this is now also reflected in the WindRose.&lt;br /&gt;
# HTML: Added deblocking and deferring actions to speed up index.HTML&lt;br /&gt;
# Charts: bug fix for the Home charts: the default chart and the fall back every 10 minutes are now correct.&lt;br /&gt;
# Charts: Click events defined in the user definitions of the charts are now handled correctly.&lt;br /&gt;
&lt;br /&gt;
==== version 5.0.1 (01/03/2021) ====&lt;br /&gt;
# Bug fix in Charts Compiler: Numbers in the Charts definitions are obligatory with a decimal point and not a free to use decimal locale separator. So the whole compiler and code generation now function under the Invariant Locale having the point as decimal separator.&lt;br /&gt;
# Barometer scales are now set to the stations min/max records to get the effect of a real barometer without you requiring to adapt for the ever changing scale. &lt;br /&gt;
&lt;br /&gt;
==== version 5.0.0 (28/02/2021) ====&lt;br /&gt;
# FTPS: Release&lt;br /&gt;
# Graphs: Added the Charts Compiler - Release. &lt;br /&gt;
# See the separate document in the distribution.&lt;br /&gt;
# General: bug fix - unit for mile is mi and not mph&lt;br /&gt;
# General: Upgraded the Bootstrap base version to 4.5.2&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.6 (20/02/2021) ====&lt;br /&gt;
# FTPS: Fixed a bug where the port was not assigned when using FTPS&lt;br /&gt;
# Added SFTP access.&lt;br /&gt;
# Internal: Added the Pressure in the Month file List and made the list sorted on date (no direct effect for user). &lt;br /&gt;
# Internal: Made first steps to use MySQL/MariaDB as data source.&lt;br /&gt;
# Graphs: Added the Charts Compiler in zeta release (meaning it is there but you won&#039;t notice unless you really want to look at it). See my separate post.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.5 (14/01/2021) ====&lt;br /&gt;
# Map: when using the map as a module it was lacking the jQuery library include. That is fixed now. Has been published before as 4.10.3 patch1&lt;br /&gt;
# Internal: Redesign and rewrite of the unit handling and conversion possibilities (when required). One of the first foundations of CumulusUtils I wrote at the start of Top10 and pwsFWI. However I got more and more annoyed by the way I handled it so I changed it from an aesthetic and  a technical point of view. It has been tested but as you can imagine not all permutations have been handled, so keep an eye open and please report bugs. Especially when you use units other than km/h, °C, hPa and mm. &lt;br /&gt;
# Several smaller changes internal and in UI.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.2 (05/01/2021) ====&lt;br /&gt;
# Website: Added some runtime logging for verification purposes only.&lt;br /&gt;
# AirQuality: fixed a bug where the realtime values contained a comma because of the locale, which was not changed to a point when required.&lt;br /&gt;
# AirQuality: Added optional Windbarbs to the Air Quality graphs (really great :D See meteo-wagenborgen for demo).&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.1 (01/01/2021) ====&lt;br /&gt;
AirQuality: xy zooming now works on a tablet too.&lt;br /&gt;
# Map: applied some &#039;beteljuice changes&#039; to the map.&lt;br /&gt;
# General: made the first run for First Time Users more accessible and easier to understand. Console output is now default true at first run.&lt;br /&gt;
# Fixed a fatal bug in formatting the filename of the AirLink logfile.&lt;br /&gt;
&lt;br /&gt;
==== version 4.10.0 (28/12/2020) ====&lt;br /&gt;
# Map: Reintroduced the Map module in CumulusUtils. Completely overhauled and rewritten. No command but an inifile parameter (Participant) governs a station to be on/off the map.&lt;br /&gt;
# AirQuality: Decided on the reference lines / Help button. EU-CAQI one hour series will act as reference line for all as explained in the text under the help button.&lt;br /&gt;
# AirQuality: Graphs now have xy scaling.&lt;br /&gt;
# FTP: Modified the FTP module such that if a user does not use FTP and even does not have it defined on its system, CumulusUtils will always continue and generate the output.&lt;br /&gt;
# Technical: various clean-ups and modifications in the Javascript runtime system.&lt;br /&gt;
&lt;br /&gt;
==== version 4.9.0 (18/12/2020) ====&lt;br /&gt;
# AirQuality: Modified CA and AU AQI translation to the table view in the path to perfection.&lt;br /&gt;
# Removed the Map module completely from CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.4 (16/12/2020) ====&lt;br /&gt;
# Website: Added Day length at solar info.&lt;br /&gt;
# Website: fixed erroneous &#039;correction&#039; of time and date separators in the javascript runtime for the dashboard.&lt;br /&gt;
# AirQuality: graphs are now drawn with spline.&lt;br /&gt;
# General: Now parameter NormalMessageToConsole also works on Windows.&lt;br /&gt;
# General: changed the level of several messages (INFO became ERROR; WARNING became INFO and INFO became VERBOSE etc...). In general will the visual appearance of the logging have changed so don&#039;t be surprised.&lt;br /&gt;
# General: If a timeout occurs in the FTP Upload procedure a stackdump originated. That has been corrected and should now be just an error.&lt;br /&gt;
# General: Improved error handling to prevent stackdumps (especially around FTP). This will be an ongoing exercise no doubt. The new FTP lib apparently demands different handling. &lt;br /&gt;
&lt;br /&gt;
I can use feedback on messaging.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.3 (9/12/2020) ====&lt;br /&gt;
# Patch for repair of fixed IP for development to localhost for communications with CMX.&lt;br /&gt;
&lt;br /&gt;
==== version 4.8.2 (9/12/2020) ====&lt;br /&gt;
# General/Technical: Logging has been rewritten. Verbosity level can be controlled (None, Error, Warning, Info and Verbose) and messages are subdivided in those types.&lt;br /&gt;
# General/Technical: Progress messages can be written to the console.&lt;br /&gt;
# Technical: Age of the FTP lock file is now correctly determined outside the CET time zone. &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.1 (4/12/2020) ====&lt;br /&gt;
# AirQuality: Bugfix in JSON datafile creation when the CMX parameter DataLogInterval is larger than one minute.&lt;br /&gt;
# PwsFWI: On request of a lot of users the Current Value now has the possibility to be set to Today&#039;s value (when using prediction). See the parameter section of pwsFWI for CurrentIndexDay (possible values: Yesterday (default), Today) &lt;br /&gt;
&lt;br /&gt;
==== version 4.8.0 (1/12/2020) ====&lt;br /&gt;
# Added graphing for the two AirLink sensors.&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.2 (24/11/2020) ====&lt;br /&gt;
# Parameter SslFtp did not exist in Cumulus 1; Made sure the default is correct on C1 / Win7 machines.&lt;br /&gt;
# Made sure FTP logging works on Win7 machines.&lt;br /&gt;
# Made sure Maps works on  Win7 machines&lt;br /&gt;
&lt;br /&gt;
==== version 4.7.1 (20/11/2020) ====&lt;br /&gt;
# Manual: Further fine tuning info UploadDir and CumulusRealTimeLocation.&lt;br /&gt;
# Technical: Reported issue to FluentFTP with respect to FTPS. Waiting for feedback/Solution. As a workaround downgrading the FluentFTP library to 32.3.1.0. works. It will remain so until certain upgrade is safe.&lt;br /&gt;
# Technical: Optimised some parts of the CumulusUtils javascript runtime.&lt;br /&gt;
# Technical: resolved a naming conflict between CumulusUtils and a library. The effect of this conflict is unknown, but it may account for some weird effects some users encountered.&lt;br /&gt;
# AirQuality: Bug fix adjustment decimal separator.&lt;br /&gt;
# AirQuality: When using thrifty, the module is not uploaded (not necessary because the info seen is realtime, no history data so far, this may change in future).&lt;br /&gt;
# AirQuality: The calculation of the AQI has been fine tuned and should be OK now both in CMX (build 3097) and CumulusUtils. &lt;br /&gt;
# AirQuality: The table width of AirQuality report must fit within its frame.&lt;br /&gt;
# Maps: The lockfile mechanisme has now been rewritten to take advantage of the FluentFTP library. The algorithm did not change, the use of FTP did. Keep an eye open for anomalies.&lt;br /&gt;
&lt;br /&gt;
==== Version 4.7.0 (15/11/2020)(Withdrawn) ====&lt;br /&gt;
# Run: the executable and dlls have been removed from the CumulusMX directory to the utils\bin directory. You have to call CumulusUtils with the following command (being in the cumulus directory) utils\bin\cumulusutils.exe. This avoids conflict and synchronisation of version of dlls. Cumulusutils has now evolved into technical independency.&lt;br /&gt;
# Internal FTP: Made FTPS available (SFTP will follow);&lt;br /&gt;
# Internal FTP: Made FTP logging optional (section [FTP site], parameter FtpLog, default off)&lt;br /&gt;
# Map: Internal working has changed because the Map database stationswithutils.xml underwent a provider change because of the FTP changes.&lt;br /&gt;
# Technical: CumulusUtils is now using ServiceStack.Text.dll i.s.o. NewtonSoft.Json.dll (You may now remove Newtonsoft dll from the CumulusMX directory is you are on CMX version 3.9.1 and higher)&lt;br /&gt;
# Added a NOTE at the start of the manual to focus on the parameters CumulusRealTimeLocation and UploadDir to avoid confusion.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.3 (11/11/2020) ====&lt;br /&gt;
# Maps: Reverted to old FTP system (only plain FTP supported) and corrected for provider change of Map database.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.2 (6/11/2020) ====&lt;br /&gt;
# Website/AirQuality: Realtime files and general report files (like pwsFWI or YADR) are now read with the cache=false qualifier in the ajax call. This should improve user experience.&lt;br /&gt;
# AirQuality: reworked the interface for the order of the first columns.&lt;br /&gt;
# AirQuality: Fixed a bug concerning the normalisation of the AQI to the position of the indicator on the right panel of the table.&lt;br /&gt;
# AirQuality: Changed default country to US.&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.1 (4/11/2020) ====&lt;br /&gt;
# Website/AirQuality: If no sensor is present, the menu choice &#039;AirQuality&#039; will not appear in the menu.&lt;br /&gt;
# AirQuality: The CA handling of the AQI is debatable and in my view incorrect. The AQI display will for the time being be like the US en needs to be set accordingly in CMX.&lt;br /&gt;
# AirQuality: Fixed a bug when generating the outside sensor. Both in the sensor code as in the airlinkrealtime.txt file (a space too many was generated).&lt;br /&gt;
&lt;br /&gt;
==== version 4.6.0 (3/11/2020) ====&lt;br /&gt;
# Sysinfo: For the Raspberry Pi the CPU temp is now available.&lt;br /&gt;
# Air Quality: The first release of the Air Quality module, support for the Davis AirLink sensor and my own FakeAirLink system. Version 4.6 may be regarded as a beta to the AirQuality system as many things have to be optimised and maybe even rewritten. It is working fine though.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.5 (26/10/2020) ====&lt;br /&gt;
# Website: Fixed bug for DST switch. Station time now is correct.&lt;br /&gt;
# Monthly logfiles: Fixed bug for existence of AirLink logfiles. Now they are ignored.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.4 (4/10/2020) ====&lt;br /&gt;
# PwsFWI: Fixed bug for Current PwsFWI value on the menu bar.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.3 (3/10/2020) ====&lt;br /&gt;
# Now all HTML of the individual modules are W3C Validator compatible (which includes some technical changes which I think have no impact |) ).&lt;br /&gt;
# Added the start of observation date to the record pages.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.2 (2/10/2020) ====&lt;br /&gt;
# NOAA: Fixed a bug which generated a new file only the 2 day of the year i.s.o. the second day of the  month when under thrifty.&lt;br /&gt;
# Website: Fixed the last HTML errors on the main site but you won&#039;t notice. The website generator is now W3C Validator compatible and should not generate errors.&lt;br /&gt;
# Website: If Google-Analytics is enabled (an ID is defined in GoogleStatsId) it is now possible to give the user (or just yourself) an opt-out possibility (PermitGoogleOptout=true), see the manual.&lt;br /&gt;
# Solar and UV are now separately configurable both for both dashboards.&lt;br /&gt;
# It is now a requirement for use of cutils as a module provider, to use UTF8 character encoding of the page the module is used in. Specifically for the character for degrees and other characters outside the standard range like all language specific characters (the website generator has this standard automatically).&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.1 (24/9/2020) ====&lt;br /&gt;
# Solar Graphs: Y-axis description changed from “Daily kilo Watt hour” to “Daily kilo Watt hour per m2”. Note that this is only the default, you have to change your translation yourself.&lt;br /&gt;
# Website: Finally fixed some HTML errors on the main site but you won&#039;t notice.&lt;br /&gt;
# Maps: Both the user map and the Station map now will always fit within the report view and will be responsive on other devices. The height of both maps is fixed to 750px.&lt;br /&gt;
# Stationmap: the zoomControl has been removed and scrollWheelZoom has been disabled. Effectively it has become a station map with zoom fixed to the setup used at generation time.&lt;br /&gt;
# Forecast SpotWx, Wxsim forecast both now have a 100% width and should be responsive. This does not work well on the Norwegian forecast so that one remains fixed 1000px. Wxsim has not been tested because I don&#039;t have it. Please be aware and report back if you need change to keep the result within the report view.&lt;br /&gt;
# UserMenu: If you wish to use an iframe to start up more complex URLs in the report view, I would advise to use “width=&#039;100%&#039; frameborder=&#039;0&#039; style=&#039;border: 0; height: 75vh;&#039;”. &lt;br /&gt;
# This should keep this within report view limits on all devices (not saying it is useful on all devices). I could  not get it to work on Effis though. Wxcharts does not do well on the multi plot view. For images please use “width=&#039;100%&#039; height=&#039;100%&#039;”&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 (23/9/2020) ====&lt;br /&gt;
# No functional changes just the version number and some additional code optimisations.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta2 (22/9/2020) ====&lt;br /&gt;
# Bug fix for correct reading of older records (Solar radiation was introduced in version 1.8.5 and Current theoretical max solar radiation in version 1.9.1. Old logfiles do exist in the wild.&lt;br /&gt;
# Bug fix for variable interval.&lt;br /&gt;
# Additional logging for solar graphs wrt the variable interval.&lt;br /&gt;
# Performance improvement on the creation of the solar graphs wrt the determination of the variable interval.&lt;br /&gt;
# Number of error messages per datafile are maximised, currently at 10.&lt;br /&gt;
# Some minor changes to texts and default values of texts.&lt;br /&gt;
&lt;br /&gt;
==== version 4.5.0 beta (20/9/2020) ====&lt;br /&gt;
# Addition of Solar graphs (Solar Hours and Solar Energy).&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.1 (13/9/2020) ====&lt;br /&gt;
# Station Map: bug fix for initialisation.&lt;br /&gt;
# Station Map: Added Beaufort  in text below the wind arrow.&lt;br /&gt;
# Station Map: Map now centres between wind arrow and station marker.&lt;br /&gt;
# Three compass roses are now in distribution, no 1 being the default.&lt;br /&gt;
# One arrow now in distribution, no 1 being the default.&lt;br /&gt;
# Users can add compass roses and arrows at will. Naming convention in the  manual.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the parameters which are now part of their functional section. All parameters should now be documented.&lt;br /&gt;
&lt;br /&gt;
==== version 4.4.0 (11/9/2020) ====&lt;br /&gt;
# pwsFWI: removed “NOTE: Behavioural testing still under way!”. De module is now seen  as correct and finished after a year of testing against field  observations and EFFIS. Thanks to all who participated as early adopters (the first 15 you find here).&lt;br /&gt;
# Website: If all graphs of a group are switched off the corresponding menu won&#039;t appear in the main page.&lt;br /&gt;
# Station Map module is introduced (though not a real module because it can&#039;t function without the &#039;realtime&#039; system). Run &#039;cumulusutils.exe website&#039; without thrifty. See manual.&lt;br /&gt;
# Menu choice for Station Map is configurable&lt;br /&gt;
# Graphs: The colours contained a bug where it was not possible to empty the parameters GraphColors and WindRoseColors.&lt;br /&gt;
# Graphs: minor changes/improvements&lt;br /&gt;
# Thrifty:  minor changes/improvements&lt;br /&gt;
# Prepared the monthfile records for use in other graph modules.&lt;br /&gt;
# Manual – continuous work in progress - is reworked for the thrifty system with focus on graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.1 (7/9/2020) ====&lt;br /&gt;
# GraphWind: Windrun Graph title now has AllTime (section General) text i.s.o. Year 0.&lt;br /&gt;
# Where distance is used as unit with the WindRun display (graph, YADR etc...), now the correct distance unit is displayed: km for km/h; km for m/s; mi for Mph; nm for Kts (as the Wiki says)&lt;br /&gt;
# GraphsWind and YADR: The class width for WindRun is now configurable (default 75) through inifile parameter: WindrunClassWidth (section: Graphs).&lt;br /&gt;
# NOAA: the report page may now start in the current month or in the current year. This can be configured therough parameter StartInCurrentMonth in section [NOAA].&lt;br /&gt;
# All modules: Checked for UTF8 output and corrected if necessary. Now all files are guaranteed UTF8 written.&lt;br /&gt;
# Restored the double quotes in the language string for CompasSectors which had been erroneously modified in version 4.1.0. This is only important for new users where the inifile parameters are initialised.&lt;br /&gt;
# Modified/added some logging messages.&lt;br /&gt;
# Some [minor] code corrections/cleanup.&lt;br /&gt;
&lt;br /&gt;
==== version 4.3.0 (3/9/2020) ====&lt;br /&gt;
# Website: Modified the menu to accommodate separation of graphs from reports.&lt;br /&gt;
# Top10: Added total wind run per day.&lt;br /&gt;
# YADR: Added total wind run per day.&lt;br /&gt;
# YADR: Pression now give high and low values of the barometer&lt;br /&gt;
# Graphs: Changed the default colour scheme for the graphs with configurable colours (within the application). The HighchartsDefaults remains untouched. To try, comment out or remove the parameter GraphColors (take care if you  modified colours yourself!).&lt;br /&gt;
# Graphs: Modified the module construction such that Wind graphing was added, currently consisting of the WindRose (which was deleted from Miscellaneous Menu) and a WindRun statistics graph.&lt;br /&gt;
# WindRose: the WindRose is no longer a separate module but belongs to the WindGraphs.&lt;br /&gt;
# Graphs: now partitioned into four submodules (which cannot be separately generated but which graphs can be switched off)&lt;br /&gt;
# Graphs: Thrifty component for Windrose has been removed. The WindRose now follows the Windgraph thrifty periodicity. If you wish to speed up generation for experimentation you can still set WindRose to false.&lt;br /&gt;
# Bug fix: Forecast – The Latitude and Longitude do  not have a consistent format in Cumulus.ini. Sometimes it is three or four digits, sometimes it is 8 digits or more. Handling the coordinates as a string to be used directly to the URL of SpotWx with four digits failed causing a crash. &lt;br /&gt;
# This has been fixed.&lt;br /&gt;
# NOTE: The Windrun and other modules work for the units as defined in CumulusMX. Only for in some situations conversions must be applied. If you encounter such situation please let me know. So far no imperial unit installations have been tried. For the Windrun I don&#039;t know what the run distance is taken in if the windspeed is m/s. I assume km. &lt;br /&gt;
# Continued work on research of this Mono Error. So far no result. I appreciate any observation report. If it occurs on your system you will find files with a name like mono_crash.0.0.json in your cumulus directory. So far it does  not seem to be damaging and everything seems to function as it should.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.4 (26/8/2020) ====&lt;br /&gt;
# Adjusted the file read procedures to accommodate the  new internal data format of CMX (to be released later).&lt;br /&gt;
# Forecast: The SpotWx has a Timezone component. The naming is different on Windows and Unix/Linux which is not understood by SpotWx. I therefore changed the timezone to the simple numeric representation of hours. It should now work everywhere.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.3 (24/8/2020) ====&lt;br /&gt;
# Forecast: Added SpotWx as default Forecast system.&lt;br /&gt;
# Language: Added a language tag for WindRose – PeriodInWindRose (section Graphs) which is for the title of the period legend added in v 4.1.0. Note that I repeat the related release note of v 4.1.0: Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and you&#039;re good).&lt;br /&gt;
# PwsFWI/Website: Made the pwsFWI current file configurable for the Betel-Kocher gadget (see manual pwsFWI).&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.2 (21/8/2020) ====&lt;br /&gt;
# Graphs: Fix for a HighCharts [library] modification which takes care of negative values on logarithmic scales (used in the Rain Graphs). This stopped working some days ago, with this version it is repaired.&lt;br /&gt;
# Tech: await now used on Forecasts.&lt;br /&gt;
# Some minor code corrections.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.1 (18/8/2020) ====&lt;br /&gt;
# Fix for a bug which failed under some conditions to get Webtags for SysInfo and for Inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 (18/8/2020) ====&lt;br /&gt;
# The module UserReports is now alpha.&lt;br /&gt;
# Graphs: Rain and Temperature Year/Month statistics graphs now start in the current month (that is the month in which the graphs were generated)&lt;br /&gt;
# NOAA: Adjusted NOAA report Width to 700 to avoid horizontal scroll bar.&lt;br /&gt;
# Language: Swedish sv-SE made available.&lt;br /&gt;
# Improved Usage  message.&lt;br /&gt;
# Tech: Finalised / cleanup code changes for async/await and HttpClient.&lt;br /&gt;
&lt;br /&gt;
==== version 4.2.0 beta (13/8/2020) ====&lt;br /&gt;
# Changed Norwegian from NO (which is not a language code, but a country code) to NB (Norsk bokmål) and NN (Nynorsk). This had already been effective in 4.0.0, but with the completion of language.js for the gauges and the publication of the translations on the Forum on 10/8 it is now a formal change (by sutne/Steinar, thnx)&lt;br /&gt;
# Added Webtag processing for inifile parameters.&lt;br /&gt;
# Added UserReports with Webtag processing, see the  manual.&lt;br /&gt;
# Tech: reshuffle the HttpClient/internet code. This introduced also async/await processing and  more or less threw some thing upside down. Therefore this release is done as a beta. If you experience issues, please notify me and fall back to the 4.1.0 release which you no doubt saved.&lt;br /&gt;
# Having said that I think the release is good enough and you are invited to play with the added webtag features.&lt;br /&gt;
&lt;br /&gt;
==== version 4.1.0 (8/8/2020) ====&lt;br /&gt;
# Fix for some minor glitches, the first of it was released as version 4.0.1 (unregistered version).&lt;br /&gt;
# Website: Complete overhaul of the Skin/Theming options and system for the CMXgraphs to facilitate modification of the Dark theme (and probably also other themes) of Highcharts.&lt;br /&gt;
## Themes (included the principal default) added in distribution for the user to start modifying. &lt;br /&gt;
## Manual: complete and extensive rewrite of the chapter on Skin/Theme and HowTo. NOTE: any legal color format can be given in both the cumulusutils.ini and the HighchartsDefaults.js. This includes the transparency field.&lt;br /&gt;
## For the normal reporting in the ReportView, the colours are basically ruled by the parameters ColorReportviewText, ColorReportviewBackground, ColorReportviewTableData. This hold too for report subscripts. For possible links, format is taken from the footer: ColorFooterLink, ColorFooterLinkHover.&lt;br /&gt;
## Some changes in behaviour of the graphs for the default theme.&lt;br /&gt;
# PwsFWI: changed the color of the text Legend. It now obeys  ColorReportviewText.&lt;br /&gt;
# Website/All: Fixed a bug where the graphs module was always generated under Thrifty condition (meaning sometimes they were not generated when that was intended even when CU was run only with graphs as argument).&lt;br /&gt;
# Website: The header is split in three parts. Center is the title and the location for 60%. Right and left have 20% and is governed by the inifile parameters HeaderRightText and HeaderLeftText.&lt;br /&gt;
# WindRose: As the WindRose has no time axis, the graph itself needed an indicator so a print would have a period indicator on it. The text colour of the period legend (let&#039;s give it a name) will always be the same as the Title color of the graph (which is rules by the theme)&lt;br /&gt;
# Language: Moved the words Year and Month from section Website to the General section (so in your language file make the same move and your good).&lt;br /&gt;
# PwsFWI: fixed a bug where, with less than 35 records in dayfile; Analysis on 30; and without prediction, the module crashed.&lt;br /&gt;
# Graphs: fixed a bug where, when the nr of periods for the moving average is less then the figure defined in the inifile, the data-section of the Highcharts graph code for the moving average, missed an opening &#039;[&#039;.&lt;br /&gt;
&lt;br /&gt;
==== version 4.0.0 (29/7/2020) ====&lt;br /&gt;
# This update touches most core files so please run a full update and upload all delivered files (to the lib and css library).&lt;br /&gt;
# General: Adapted CumulusUtils to take advantage of CMX 3.7.0.&lt;br /&gt;
# General: The consequences of the technical rift are described in the chapter Before and after version 4.0.0 of this manual. &lt;br /&gt;
# General: The biggest difference is that CMX MUST be running when CumulusUtils is activated. If not, Utils will run to completion but some information will not be available. &lt;br /&gt;
# SysInfo: The systeminfoTable.txt file no longer needs to be processed by Cumulus and its entry in &#039;Extra Webfiles&#039; can be removed. It is now a module like any other.&lt;br /&gt;
# Website : The version information in the footer now shows information when a new CMX version is available.&lt;br /&gt;
# Website/Home : The CMX graphs are upgraded to the level of CMX 3.7.0 and now display conform the technique offered by CMX. This means that the lines displayed are defined in CMX and no longer in CumulusUtils causing the data not to be send if the parameter is switched off.&lt;br /&gt;
# Website/Home : If the inside Temp/Hum is activated in CMX, it still can be deactivated in CumulusUtils (though the data will be send)&lt;br /&gt;
# Website/Home: Daily temperatures now are smooth lines.&lt;br /&gt;
# Website/Home: The user can choose between lineWidth 1 or 2 through parameter HomeGraphLineWidth. The value holds for all graphs.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.11 (26/7/2020) ====&lt;br /&gt;
# Website: Modified colouring of the ReportView to accommodate the Dark Themes:&lt;br /&gt;
## NOAA now  have their own colour parameters – ColorNOAAText (def: Black) and ColorNOAABackground (def: #f9f8EB)&lt;br /&gt;
## To make the YADR table data independent because of the intrinsic colouring a new parameter has been introduced – ColorReportviewTableData&lt;br /&gt;
## To make the Beteljuice format for pwsFWI workable in the dark theme, the website now uses the text colour of the ReportView as text colour for the legend and the key&lt;br /&gt;
## The System Info now adheres to the ReportView background and text colours.&lt;br /&gt;
## Any subscript to reports (as HTML paragraphs) now adhere to the ReportView background and text colours. The links and hover definitions adheres to those of the footer.&lt;br /&gt;
# Map : A  lockfile will expire after three minutes after which it will be regarded as orphaned and removed. Deadlocks because of orphaned lockfiles should no longer occur.&lt;br /&gt;
# Checked against CMX 3.7.0 – minor glitches, no issues.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.10 (22/7/2020) ====&lt;br /&gt;
# Technical: Modification of the function for reading of XML data to counter a technical issue.&lt;br /&gt;
# Technical: Preparation for version 3.7.0 of CMX.&lt;br /&gt;
# Website: Added inifile parameter SiteTitleAddition in section [Website], default: empty string.&lt;br /&gt;
# Thrifty : If yesterday rain detected, graphs are always generated. &lt;br /&gt;
# Thrifty : Finalised and perfected the logic.&lt;br /&gt;
# General : For the Norwegian language the code NO is removed as accepted language and nn-NO and nb-NO are added.&lt;br /&gt;
# General : language.js (for the gauges) has now been adapted for the two official Norwegian languages: Nynorsk (nn) and Bokmål (nb).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.7 (12/7/2020) ====&lt;br /&gt;
# Website / All: First  step - optimized the Thrifty logic.&lt;br /&gt;
# Maps: Fixed bug in clean-up segment where an empty map was produced.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.5 (4/7/2020) ====&lt;br /&gt;
# Website: The HTML LANG now really contains the locale.&lt;br /&gt;
# Map: In the battle against the random errors in the stationswithutils.xml data file, an FTP lockfile mechanism has been implemented. Now one and  only one station gets access to that file. Other stations wait at most 8 seconds, if they don&#039;t get the lock, the Map generation is abandoned for this run (and if that happens often, the  user is advised to use a less occupied time slot).&lt;br /&gt;
# Sysinfo: The report width is now configurable (Default is 700px)&lt;br /&gt;
# Sysinfo: Windows users can configure lines not to display. Run the command systeminfo and count the  lines. Host Name is line nr 1. Fill in the section [SysInfo], for parameter SystemInfoLinesToSkip with comma separated line numbers e.g.: 7,10,11,20 That&#039;s it.&lt;br /&gt;
# Dashboard: Slightly tidied up in the sense that line breaks between the figure and the unit are prevented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.3 (27/6/2020) ====&lt;br /&gt;
# SysInfo: On windows the listing now stops when the line with pagefile.sys (excluded) is found. This should be valid for all languages. The listing now is left aligned with width: 700px, centered in the ReportView.&lt;br /&gt;
# Website: To increase consistency, the HTML LANG will contain the locale from the inifile (Read this and this). This will better satisfy search engines.&lt;br /&gt;
# Website: Clicking a gauge or text block in the dashboards, loads the corresponding graph into the ReportView. &lt;br /&gt;
# Made a message on the forum and an entry in the manual to draw attention to the possibility of changing the graphs appearance through a theme to complete user modification of CumulusUtils. (using this technique btw also holds for the modules and for CumulusMX itself).&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.2 (23/6/2020) ====&lt;br /&gt;
# Graphs/Website: Implemented the UseHighchartsBoostModule inifile parameter to enable/disable the Highcharts boost module. This to bypass a problem with Google Chrome and/or certain graphics cards. Note: You can also switching off the hardware acceleration of Chrome iso setting this to false!&lt;br /&gt;
# Small correction in Maps for Lat/Lon with comma in it (they will now show on the map)&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.1 (22/6/2020) ====&lt;br /&gt;
# Maps: Made Name, Website and Latitude/Longitude compulsory for website registration (and therefore for use of Website generator). &lt;br /&gt;
# Maps: If an entry is not updated within 7 days it is removed from the map (Cleanup). &lt;br /&gt;
# Graphs: Changed to the latest stable, made some minor corrections. &lt;br /&gt;
# Graphs: Included the boost module as a result of this discussion. This dramatically increases performance.&lt;br /&gt;
# General: Fix for a possible interference with the Cumulus inifile read/write.&lt;br /&gt;
&lt;br /&gt;
==== version 3.9.0 (20/6/2020) ====&lt;br /&gt;
# WindRose: inverse of stacked display/legend now ruled by parameter WindRoseInversed: true/false, default false.&lt;br /&gt;
# Website: Overhauled the switching system of the dashboard. Although no functional change and even small technical change, this is a major improvement (with a little help from Mark).&lt;br /&gt;
# Dashboard: Instead  of the ledVisible parameter which was removed in version 3.8.3, there are now thresholds which – if activated - trigger the led for that specific gauge. See the manual for description. Run once to make the parameters appear, fill in and run again.&lt;br /&gt;
# Any error in the locale/language given in the inifile now no longer aborts CumulusUtils, but sets it default to en-GB.&lt;br /&gt;
# Manual: NOTE – just below the TOC – on performance during update because of WindRose.&lt;br /&gt;
# General: Cumulus.ini is no longer read directly but a copy is made and afterwards deleted because of some suspected interference.&lt;br /&gt;
# Known issues: Several anomalies – Causes unknown and will be researched. This will be addressed later.&lt;br /&gt;
# if the threshold value is higher than the max value shown on the gauge, it is unpredictable which value it takes (specifically relevant for the wind gauge). &lt;br /&gt;
# For the rain gauge there is no indicator which value is set. If the value is higer than set, the led should start flashing. The ThresholdRainVisible parameter is used to enable the led.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.4 (15/6/2020) ====&lt;br /&gt;
# YADR: Nr of rain days in the rain summary table now actually displays the nr of rain days.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.3 (15/6/2020) ====&lt;br /&gt;
# NOAA: corrected the Thrifty generation method for the 2d day of the month iso 2d day of the year.&lt;br /&gt;
# Dashboard: Moved UTC down in Clock section.&lt;br /&gt;
# WindRose: Reversed the legend for the WindRose: low to high wind speeds will be listed top/down.&lt;br /&gt;
# Website: If the site remains open in the Home situation (The Cumulus Graphs reportview) it will refresh the graphs on the interval the user has defined in the CumulusMX inifile [FTP site] section, for parameter UpdateInterval. The timer for this action restarts if within the priod another report is viewed.&lt;br /&gt;
# Dashboard: Because of oscillations of the gauge needle around old and new values, the inifile parameter SteelseriesLedVisible now defaults to false and has been removed from the CumulusUtils parameter set.  You may remove it from the inifile. If, in future, the problems around this parameter have been resolved, it may be reintroduced for use within CumulusUtils.&lt;br /&gt;
# DayRecords: Changed selection for formatting. Only noticable for users with less than two years of data (but you never know).&lt;br /&gt;
# DayRecords: Fixed the formatting for the HighGust column (which was missing, nobody noticed :) ).&lt;br /&gt;
# YADR: changed table fonts to 80% and normal (not bold) to accommodate smaller PC and tablet screens. Comments are welcome.&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.2 (6/6/2020) ====&lt;br /&gt;
# DayRecords: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Top10Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Site Stats: For the google statistics, now for the ReportViews event-statistics are gathered as well. More useful than page stats because it is only one page :)&lt;br /&gt;
# Some code optimizations.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.1 (4/6/2020) ====&lt;br /&gt;
# Records: improved/corrected the Thrifty generation method.&lt;br /&gt;
# Logging: improved messages.&lt;br /&gt;
# General: using locale definitions for the two letter ISO language code (if it were only for the differences between en_GB, en_AU and en_US). IMPORTANT: Please read the NOTE on locales and Language parameter at the start of the manual!&lt;br /&gt;
# General: Language must exist as gauges translation. If not CumulusUtils exits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.8.0 (02/6/2020) ====&lt;br /&gt;
# Dashboard/Website: full parameter checking and verification before using the user settings. Messages are created when errors are detected. In case of invalid, setting parameter defaults.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.5 (01/6/2020) ====&lt;br /&gt;
# Move log-directory to utils directory to prevent pollution of the CMX directory.&lt;br /&gt;
# Several minor code optimizations and changes which should go unnoticed. Some changes in logging for clarification, removal of erroneous messages.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system general.&lt;br /&gt;
# Manual: Updated the manual on the thrifty system specifically for Yadr, NOAA, Records and DayRecords.&lt;br /&gt;
# Manual: added the modifying parameter values for the gauges. &lt;br /&gt;
# Manual: added the WindRose (had already been done partially in previous versions) and updated/corrected the whole thing a bit.&lt;br /&gt;
# Thrifty: Yadr now  only generates and uploads the data files for the current year, the menu file only on 2 January of the current year (so the generation is now omitted as well).&lt;br /&gt;
# Thrifty: NOAA reader now only generated and uploaded on 2 January (Note: the data files are generated by CMX itself).&lt;br /&gt;
# Thrifty: Records is now only generated when a Yesterday record occurred.&lt;br /&gt;
# Thrifty: Graphs are now generated every 7th day from January 1 (so actually (DayOfYear MOD 7 == 0). Looking for a more sophisticated decision.&lt;br /&gt;
# Advise: For the website generator: run daily under Thrifty system. &lt;br /&gt;
# pwsFWI: Relative Humidity in the table is again displayed with an accuracy of two digits.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.3 (30/5/2020) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
# Thrifty system: fine tuned the top10 thrifty system&lt;br /&gt;
# Thrifty system: DayRecords dirty-bit system is now working so under the thrifty system, if – and only if – yesterday had a record, the file is written and uploaded.&lt;br /&gt;
# Modified manual (I would appreciate feedback if erroneous or incomplete).&lt;br /&gt;
&lt;br /&gt;
==== Version 3.7.2 (29/5/2020 – not public) ====&lt;br /&gt;
# Dashboard: Added some configuration parameters for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.1 (29/5/2020) ====&lt;br /&gt;
# pwsFWI: If both the Title and the SubTitle entries in the Language file are empty then no (empty) lines are produced.&lt;br /&gt;
# All logfiles are now to be found in the directory utilslog and they will have the name: yyMMddHHmmcumulusutils.log (sorts easily alphabetically) So that would be e.g. 2005271332cumulusutils.log. Logs will be kept for 2 days. This gives the possibility to run CumulusUtils many times per day (e.g. every 10 minutes for SystemInfo) and if you find a problem later in one of the major runs at midnight, you still have that log.&lt;br /&gt;
# Dashboard: changing the appearance of the gauges should now work.&lt;br /&gt;
&lt;br /&gt;
==== version 3.7.0 (27/5/2020) ====&lt;br /&gt;
# Forecast: Added WXSIM as forecast system, see manual how to do it, please notify if additional possibilities exist.&lt;br /&gt;
# CheckOnly: increased  performance by removing redundant writing to logfile. Now only markings and real error situations are logged.&lt;br /&gt;
# Dashboard: Colour of Up/Down-indicators for Temperature and Pressure now have their own parameters: ColorDashboardUpIndicator and ColorDashboardDownIndicator.&lt;br /&gt;
# NOAA: Year selection through drop down now adjusts months selectable.&lt;br /&gt;
# Dashboard Gauges: Gauges are now modifiable through the inifile parameters. See website inifile parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.9 (25/5/2020) ====&lt;br /&gt;
# Bugfixes for WindRose (accommodate a single quote in the subtitle, add a semicolon, remove comma at end of data)&lt;br /&gt;
# Changed Dashboard 1, Wind to better accommodate Latest winds, Average and Beaufort. Beaufort is now related to Average wind, not Latest measurement.&lt;br /&gt;
# pwsFWI: put a title on the report page to provide more clarity for newcomers to what they are actually seeing.&lt;br /&gt;
&lt;br /&gt;
==== Version 3.6.8 (24/5/2020) – patch release for debugging. ====&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.7 (24/5/2020) ====&lt;br /&gt;
# Dashboard: In dashboard 1, now the Beaufort scale is shown in the Wind block with same background colour as defined in the YADR Wind module. Note that the wind speed / Beaufort shown is the latest wind speed reading (equivalent webtag: #wlatest)&lt;br /&gt;
# Thrifty: Under the thrifty system, the WindRose is only generated when upload is scheduled (second day of the month).&lt;br /&gt;
# Thrifty: Under the thrifty system, top10 is only generated (!) and uploaded when there is actually a new record (the file is &#039;dirty&#039;). Only Yesterday is checked so a daily run is assumed.&lt;br /&gt;
# Thrifty: Under the Thrifty system, YADR only uploads the current year.&lt;br /&gt;
# PwsFWI: Added pwsFWI to the NAV-bar, just beside the LED. Click leads to the report. In the process, moved the current value to the ini-file as well. The pwsFWIcurrent.txt remains (same contents).&lt;br /&gt;
# pwsFWI: changed nr of decimals from 2 to 1. For the Beteljuice interface, made the borders round corners again under the Bootstrap system.&lt;br /&gt;
# CheckOnly: Added Monthly Logs to the CheckOnly command.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.6 (22/5/2020) ====&lt;br /&gt;
# WindRose: the ZeroWind percentage is now shown for each period selected.&lt;br /&gt;
# WindRose: added footer when used as module.&lt;br /&gt;
# Monthly Logs: added extensive Exception handling to accommodate historical increasing record length (in relation to fields required)&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.5 (19/5/2020) ====&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth (for subscription and mobile users). Description in the manual.&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# WindRose: Bugfix concerning the filelist of the monthly log files.&lt;br /&gt;
# WindRose: changed the Y-scale from fractions to percentage.&lt;br /&gt;
# Made some modifications to the manual for clarity. &lt;br /&gt;
# Created a section [General] in the CUstrings[xx].ini files. Some strings may move there requiring you to move the translation as well. I will try to minimize the translation effects but while in development phase it may be inevitable. I apologize beforehand.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.2 (19/5/2020) ====&lt;br /&gt;
# WindRose: Added a check for data consistency concerning the internal data separators (governed by the locale). If any inconsistency is found an error message is written to the logfile, CumulusUtils exits and the user has to clean up the data directory.&lt;br /&gt;
# General: Added the Thrifty qualifier for Website and All commandline parameters to economize on bandwidth.&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.1 (18/5/2020) ====&lt;br /&gt;
# Maps: Added more exception handling to Maps, more specific for  Internet Timeouts. If a Timeout occurs Maps cannot complete and returns iso stopping CumulusUtils.&lt;br /&gt;
# WindRose: Older Monthly logfiles miss the current windbearing and caused a crash. This has been corrected (see note under Calculation of the WindRose).&lt;br /&gt;
# WindRose: Now the month of March is also displayed.&lt;br /&gt;
# WindRose: Improved error handling and minor HTML correction.&lt;br /&gt;
# Records: Now the month of March is also displayed (yes there was a relation with the WindRose: I copied the menu code).&lt;br /&gt;
&lt;br /&gt;
==== version 3.6.0 (17/5/2020) ====&lt;br /&gt;
# DayRecords: Numbers changed from 2 decimal positions to one.&lt;br /&gt;
# ShowSolar=false now also removed the solar pane on the first dashboard.&lt;br /&gt;
# Moved NextYear, NextMonth etc... Text tags to a section called [General]. Move your translation. You can delete the old tags (leaving them won&#039;t hurt)&lt;br /&gt;
# Beta release WindRose. See Readme and release post.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.7 (16/5/2020) ====&lt;br /&gt;
# Manual: Correction on the handling of Norwegian forecast wrt hourly shift. &lt;br /&gt;
# Language: Forgotten strings added (See at end of sections)&lt;br /&gt;
# Language: Moved parameters Prev and Next Year from Website section to Yadr section. Please re-translate. This may happen once in a while because it is seen as an error for modular generation.&lt;br /&gt;
# Language: Modified gauges Language.js&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.6 (13/5/2020) ====&lt;br /&gt;
# Language handling: correction for single quotes outside javascript.&lt;br /&gt;
# Language handling: Dashboard now shows correct (according to language) decimal, time and date separators. &lt;br /&gt;
# Known issue: sometimes a separator works well on PC but gives a different result on the RPi under Mono. That is beyond control. (may occur in other languages as well so time separator has been fixed to &#039;:&#039; for everybody).&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.5 (12/5/2020) ====&lt;br /&gt;
# Last bit of language handling: the two letter code is used as locale for CumulsuUtils and for HighCharts for specific language handling.&lt;br /&gt;
# Bugfix: you can now use a single quote in a word in the translation system.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Finalized the language handling of CumulusUtils. The two  letter ISO language code now sets the language independent of the locale of the machine where Cumulus/CumulusUtils runs. See the manual.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.4 (11/5/2020) ====&lt;br /&gt;
# Added the third and last phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.3 (10/5/2020) ====&lt;br /&gt;
# Added the second phase of the translation system for CumulusUtils (third phase, translation of the Cumulus Graphs has yet to be done).&lt;br /&gt;
# Website: Sundisc has major corrections and will now work above (below) the polar circles.&lt;br /&gt;
# Added a second Forecast possibility: the Norwegian Meteorological Organisation (https://www.yr.no/) See README on howto.&lt;br /&gt;
# README: Some corrections&lt;br /&gt;
# Website known issue: if the moon is up for more than 24 hours, it is sometimes indicated it is down for 24 hrs and the other way around. Notified the author.&lt;br /&gt;
&lt;br /&gt;
==== version 3.5.0 (7/5/2020) ====&lt;br /&gt;
# Added the first phase of the translation system for CumulusUtils.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.1 (7/5/2020) ====&lt;br /&gt;
# Changed the Cumulus Graphs (the opening graph) to accommodate &#039;Feels Like&#039;.&lt;br /&gt;
# Introduced ini parameters for Apparent, Feels Like, Wind Chill and Heat Index for the user to select show or no show of these temperature derivatives for human perception of the weather.&lt;br /&gt;
&lt;br /&gt;
==== version 3.4.0 (5/5/2020) ====&lt;br /&gt;
# New module Forecast.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.9 (1/5/2020) ====&lt;br /&gt;
# Graphs: bug  fix for Daily Rain graphs. The max Yearly Rain Y-scale value: when the yearly value is (much) higher than the Normal or Station value it might get off the scale. A correction has been implemented.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.8 (30/4/2020) ====&lt;br /&gt;
# Graphs: bug  fix for the max Yearly Rain Y-scale value: the value is  now correct.&lt;br /&gt;
# Graphs: bug fix for the reference lines for the total yearly rain: they now work.&lt;br /&gt;
# Website: Color can now be set for the menu toggler (parameter: ColorToggler).&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.7 (29/4/2020) ====&lt;br /&gt;
# Added ColorTitleBackGroundImage ini parameter to create more personalisation. The size of the Title header won&#039;t change though.&lt;br /&gt;
# Synchronize displayed version number with the distribution.&lt;br /&gt;
&lt;br /&gt;
==== version 3.3.6 (28/4/2020) ====&lt;br /&gt;
# Website Color iniparameter bugfix for Menu Background. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.5 (27/4/2020) ====&lt;br /&gt;
# Website Personalisation of colours now possible. &lt;br /&gt;
&lt;br /&gt;
==== version 3.3.0 (25/4/2020) ====&lt;br /&gt;
# Website: The menu changed to a responsive Bootstrap 4 default Nav/Dropdown menu.&lt;br /&gt;
# Graphs: implemented the Rain statistics per month. Again this is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
# If there is no website in the entry for the Map, CumulusUtils aborts. This is specifically annoying if you want to generate a website.&lt;br /&gt;
# Major update for the README concerning the graphs and the inifile  parameters.&lt;br /&gt;
&lt;br /&gt;
==== version 3.2.0 (23/4/2020) ====&lt;br /&gt;
# The moon had another bug.&lt;br /&gt;
# And there are 60 minutes in an hour, not 24&lt;br /&gt;
# Graphs: implemented Temperature statistics per month. This is in fact only interesting if you have a data series of at least 3 years.&lt;br /&gt;
&lt;br /&gt;
==== version 3.1.1 (22/4/2020) ====&lt;br /&gt;
# The moon now shows correctly on the Southern Hemisphere.&lt;br /&gt;
# Reference lines for Average rainfall are added to the daily rainfall graph.&lt;br /&gt;
# Changed the text Barometer to Pressure (see here)&lt;br /&gt;
# Website Gen. : Changed the menu layout a bit&lt;br /&gt;
# Changes the graphs into three separate .txt files: graphsrain, graphstemp and graphsmisc to prepare for the future with the year statistics per month for temperature and rain. &lt;br /&gt;
&lt;br /&gt;
==== version 3.1.0 (18/4/2020) ====&lt;br /&gt;
# Created a special version of gauges.js to accommodate the switching of the dashboard. No user action required, the library will be installed during an update overwriting the old version of gauges.js.&lt;br /&gt;
# Added latitude, longitude and altitude information to the header.&lt;br /&gt;
# Added a green LED indication station status to the left side of the menu bar.&lt;br /&gt;
# Added the following ini parameters ShowInsideMeasurements and CumulusRealTimeInterval.&lt;br /&gt;
# Maps: entries are now required to have a website entry&lt;br /&gt;
# Known Issue:&lt;br /&gt;
# at startup some non-inhibiting errors appear in the console.&lt;br /&gt;
# ShowInsideMeasurement does work for the graphs, but not for the gauges&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.6 (14/4/2020) ====&lt;br /&gt;
# Bug fix release to solve an issue with includes of jQuery, Highcharts and Leaflet.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.5 (13/4/2020) ====&lt;br /&gt;
# Bug fix release to accommodate an issue with sync/async Ajax  reads of the new cumuluscharts code.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.4 (13/4/2020) ====&lt;br /&gt;
# cumuluscharts partly rewritten, now as .txt file similar to other reporting. The effect is that the json datafile can now be handled like the realtime files, it uses also CumulusRealTimeLocation for the location. The buttons are replaced by a dropdown, the graphs are the same.&lt;br /&gt;
# Prepared for the ini  parameter ShowInsideMeasurements (default false) for yes/no showing the inside temperature and humidity in the graphs (rest to be done later).&lt;br /&gt;
# Added &#039;Browser time&#039; to the clocks and internally reworked the clocks such that now from ANY timezone (well, some aberration maybe), you see the times of sun/moon in local time of the station. Yes, Beteljuice had warned me that time in javascript is kind of a nuisance. He was right.&lt;br /&gt;
# Known  issue: time of moonset is appr. One hr off when seen from west of UTC. &lt;br /&gt;
&lt;br /&gt;
==== version 3.0.3 (11/4/2020) ====&lt;br /&gt;
# Times, sun, moon are OK now in all timezones. DST might disturb somewhere on the southern hemisphere, but I think it is OK.&lt;br /&gt;
# Moon phases are now [probably] correct. Respect for Keppler and Copernicus and anybody who ever set his mind to celestial bodies, programmer or not.&lt;br /&gt;
# Responsiveness is satisfactory now for the time being.&lt;br /&gt;
# Maps show directly when clicked and to correct zoom level.&lt;br /&gt;
# About and License adjusted to wish of community (comment welcome).&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.1 (8/4/2020) ====&lt;br /&gt;
# Added the ini parameter CumulusRealTimeLocation to provide for a user who uses more than one website. See my notes in the README!&lt;br /&gt;
# Known  issues: &lt;br /&gt;
# the times are wrong in another timezone&lt;br /&gt;
# The moonphases do not show correct.&lt;br /&gt;
# Cumuluscharts needs to be rewritten because of the hardcoded location of the json data files.&lt;br /&gt;
&lt;br /&gt;
==== version 3.0.0 (6/4/2020) ====&lt;br /&gt;
# Added the website generator. See the README for how to use that.&lt;br /&gt;
# Added Wind Run to the records page&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.6 (25/3/2020) ====&lt;br /&gt;
# Added the command CheckOnly, to only check the dayfile.txt for errors. Any detected error can be found in the logfile. The default for the iniparameter IgnoreDataErrors has been changed to TRUE. ToDo-list: add range checks on dayfile values.&lt;br /&gt;
# Added ini parameter GeneratejQueryInclude in the section General. Current default value is true.&lt;br /&gt;
# The ini-section [Data] has been moved to [General] (see the README) (you can remove the [Data] section manually).&lt;br /&gt;
# Maps: Added try/catch error handling for an irregular occurrence of a fault while looping through the XML data structure. At a failure in the XML file, CumulusUtils aborts so other modules in the same command won&#039;t be executed. You may rerun without the Mapson command to accomplish other modules. If you run Maps and it fails, please report in a PM and send the logfile with the report.&lt;br /&gt;
# WIP: the above points concerning the ini-file are related to the construction of a new website which will become part of CumulusUtils but also as a module. CumulusUtils will always exist as a module generator for other websites, but in the end a standard website will become part of it. Some minor changes may occur in the near future in preparation, but before the website will be available. A preview of the website can be seen.&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.5 (16/3/2020) ====&lt;br /&gt;
# Graphs: Optimised the Monthly Temperature and Monthly Rain graphs for speed and coding efficiency.&lt;br /&gt;
# Graphs: For the same graphs, the user can choose between the Normal reference curve and the Station Average reference curve. The choice is  made in the ini file with the parameters:&lt;br /&gt;
# UseNormalTempReference&lt;br /&gt;
# UseNormalRainReference&lt;br /&gt;
# Please see section of ini-parameters &lt;br /&gt;
# Graphs: for the same graphs, if the Station Reference curve is chosen, automatically the area of the standard deviation which comes with the calculation of the average is depicted in light gray in the graph.&lt;br /&gt;
# NOTE: Normal is reserved for the reference mean for the last 30 years (which normally moves up 10  years per decade) as published by the national Meteorology agencies. As Rain and Temperature are the only measurements for which there exists a Normal curve in Cumulus these will be the only curves with this feature. See further the README.&lt;br /&gt;
&lt;br /&gt;
==== Version 2.4.1 – 2.4.2 (12/3/2020) ====&lt;br /&gt;
# A bug fix on 2.4.0 (inclusion of jQuery library) and addition of a Clash of Average graph (non supported, may be removed later)&lt;br /&gt;
&lt;br /&gt;
==== version 2.4.0 (12/3/2020) ====&lt;br /&gt;
# Addition of the &#039;All&#039; command to generate all modules which use the dayfile (so excluding Maps and SystemInfo).&lt;br /&gt;
# Cleaned up the log generation from redundant entries.&lt;br /&gt;
# Modified the selection interfaces where necessary, addition of prev/next buttons (and moved it all to jQuery in the process). &lt;br /&gt;
# Added &#039;total yearly rain to date&#039; as an entity and published it on the Records, Dayrecords pages and Daily Rain graph as cumulative amount.&lt;br /&gt;
# Reviewed tables (records, dayrecords, top10 and yadr), such that iframe should not be necessary. Settings are now width=100% (of the enclosing div) and max-width=1000px (to prevent stretching the whole width of large monitors). Please check.&lt;br /&gt;
# Removed the Climate module and integrated it with the Graphs module. Sorry, that was short lived. Please be prepared that this Graphs reporting part is Work In Progress and changes because of requests, thoughts and philosophies may have some effect in future.&lt;br /&gt;
# All graphs have become optional with the  possibility to switch on/off through ini-file parameters in the Graphs section (I assume this self evident). NOTE: the graphs are generated, it is only the HTML menu choice which is off.&lt;br /&gt;
&lt;br /&gt;
==== version 2.3.0 (8/3/2020) ====&lt;br /&gt;
# YADR: Fixed a bug where temperature of exactly -1 degree (C/F) was seen as invalid and no low temperature in the month summary was filled in.&lt;br /&gt;
# DayRecords/Records: Added and improved parametrization of the header texts. Please find in strings section in ini file to translate.&lt;br /&gt;
# Records: Applied colouring of header and record text analogue to top10 module using the top10 format from the ini file (30 day record retention time).&lt;br /&gt;
# Started a climate graphing module.&lt;br /&gt;
# Implemented temperature HeatMap for Climate Graphs.&lt;br /&gt;
# Implemented Climate statistics on temperature and Rain (to be possibly modified and  or expanded to other measurements).  Comment is welcome.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.6 (5/3/2020) ====&lt;br /&gt;
# Corrected the relation between the header and the values for the wind measurements&lt;br /&gt;
# Fixed bug in drop down selection menu for records, dayrecords and noaa modules generation, where a crash occurred if there were no months to disable (pretty elementary error, sorry).&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.5 (4/3/2020) ====&lt;br /&gt;
# Addition of NOAA reports display (nothing new there, just part of CumulusUtils required for the future)&lt;br /&gt;
# The year/month selection where months must have data. So e.g. future months in the current year are greyed out and cannot be selected. Similar in the first year, or all years when just starting (for both NOAA and records module).&lt;br /&gt;
# Addition of Day Records module.&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.2 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.1 (27/2/2020) ====&lt;br /&gt;
# Optimisation of records module&lt;br /&gt;
# Fixed a bug for display of month of March (all years)&lt;br /&gt;
&lt;br /&gt;
==== version 2.2.0 (25/2/2020) ====&lt;br /&gt;
# Another minor legend correction in YADR&lt;br /&gt;
# Addition of the CumulusUtils version of a records page including some corresponding ini parameters (Strings section).&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.7 (28/1/2020) ====&lt;br /&gt;
# Correction on 2.1.6 for different units in YADR&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.6 (28/1/2020) ====&lt;br /&gt;
# Corrected the README where necessary&lt;br /&gt;
# Dayfile reading: Finalized the error handling of skipping the line containing the error. All info for each error will now be in the logfile.&lt;br /&gt;
# YADR: changed wind value format to one (1) decimal accuracy&lt;br /&gt;
# YADR: changed humidity values to zero (0) decimal accuracy&lt;br /&gt;
# YADR NOTE: Title of barometric values should contain ‘Average’. This has been added to the default but it won’t change automatically if it is already in your ini-file.&lt;br /&gt;
# YADR: the legends now also are correct for all units available (the only site where this can be seen/checked is “‘t Zandt”).&lt;br /&gt;
# Addition of Phil’s EasterEgg. Hint: check the cumulusutils.ini after run of 2.1.6 and read this thread backwards. Can’t be too difficult if you’re a regular follower.&lt;br /&gt;
&lt;br /&gt;
==== version 2.1.0 (22/1/2020) ====&lt;br /&gt;
# Maps: Technical correction concerning refresh of station&lt;br /&gt;
# Reading Dayfile: Complete overhaul and creation of internal datalist&lt;br /&gt;
# Added: possibility to continue reading the data file in case of data errors (see README on cumulusutils.ini, section: Data)&lt;br /&gt;
# YADR: Correction for legend of Humidity and Pression&lt;br /&gt;
# Top10: Overhaul of selection/sorting mechanism (incomplete but working, three more items to go but these may be difficult to do in LINQ with just a few queries so... maybe not)&lt;br /&gt;
# Top10: Corrected an error in the output table and at the same time slightly modified the &amp;lt;Style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.3 (5/1/2020) ====&lt;br /&gt;
# Some code optimisation&lt;br /&gt;
# Graphs: Daily rain graph now has right Y-axis cross x-axis at 0&lt;br /&gt;
# pwsFWI: Number of records shown is now conform Analysis figure from the inifile or 30 otherwise. The number is including predictive days.&lt;br /&gt;
# pwsFWI: Unit for RH in pwsFWI webtable: % is removed in header&lt;br /&gt;
# YADR: Unit for RH changed to % (was deg. Celsius/Fahrenheit).&lt;br /&gt;
# All modules: Correction of effect of prediction in pwsFWI (had not been noticed by anybody so far ;)&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.2 (5/12/2019) ====&lt;br /&gt;
# Yadr: Corrected the colour key for rain table&lt;br /&gt;
# Corrected code in the inifile handling so Mono v4 can be used (see here, will not be permanent I hope). &lt;br /&gt;
&lt;br /&gt;
==== version 2.0.1 (2/12/2019) ====&lt;br /&gt;
# Yadr: some bug fixes, removed the reference to Yadr.css&lt;br /&gt;
# Yadr: changed to white for the numbers in some cases to account for better readability of the numbers against darker colours.&lt;br /&gt;
# Yadr: Added Humidity.&lt;br /&gt;
# Yadr: Titles and fixed translatable texts are parameterized in the inifile in the section [Strings]. Parameter names start with Yadr.&lt;br /&gt;
# Graphs: changed the ‘Daily Rain’-graph to a stock-type graph to account for easier handling and zooming.&lt;br /&gt;
&lt;br /&gt;
==== version 2.0.0 (29/11/2019) ====&lt;br /&gt;
# Yadr – Yet Another Dayfile Reader added as standard functionality. Read the README concerning the use (amount of datafiles and the use of the internal FTP)&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.7 (21/11/2019) ====&lt;br /&gt;
# Addition of Internal FTP upload. Read the README for explanation&lt;br /&gt;
# Fix for kocher (intermediate version 1.9.6).&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.5 (18/11/2019) ====&lt;br /&gt;
# Maps: Website will now be opened in a new tab (or window, depending on the configuration of your Browser)&lt;br /&gt;
# Code optimisation and error handling changes.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.4 (17/11/2019) ====&lt;br /&gt;
# Maps: Added a last alive date to the marker popup, preparation for eventually a validity cleanup.&lt;br /&gt;
# Optimized the XML/Linq code. &lt;br /&gt;
# Added some error handling (e.g. for duplicate names). May not be complete yet but it requires the live run to evaluate.&lt;br /&gt;
# Removed MapBox libraries/reference and prepared for OpenStreetMap only. Waiting for response from OSM in relation to using the tile server.&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.3 (16/11/2019) ====&lt;br /&gt;
# Maps: if comma decimal separator in lat/lon then set it to point to have lat/lon handled correctly by the map java.&lt;br /&gt;
# pwsFWI: fix for colour of the pointer of 1.9.0 was refixed.&lt;br /&gt;
# Maps: Website entry for the popup is created in cumulusutils.ini&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.2 (15/11/2019) ====&lt;br /&gt;
# Maps: bug fix: now all stations show on map, not just the first one.&lt;br /&gt;
# pwsFWI: credit for the prediction must be in the correct &amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== version 1.9.0 (15/11/2019) ====&lt;br /&gt;
# pwsFWI: Bug fix for the flashing of the pointer which takes the colour of the fifth prediction day but must have colour of the last calculated day (Current value).&lt;br /&gt;
# Introduction of module Maps.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.4 (5/11/2019) ====&lt;br /&gt;
# pwsFWI: The prediction module can now be used with all units available in Cumulus. Although the interface always (unchangable) uses km/h, mbar, deg C and mm, it does no longer interfere with the normal readings of the user settings for the units.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.3 (2/11/2019) ====&lt;br /&gt;
# Graphs: TempvsNOAA and RainvsNOAA now both work correctly at the first of month (they used to display Nul (0) as a first day value).&lt;br /&gt;
# The table of pwsFWI displays the numbers in CurrentCulture format (e.g. a comma as decimal separator in NL, a point probably in a lot of other places). This makes it easier to cut/paste to Excel or Google Sheets. Same holds for the Analysis csv file.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.2 (2/11/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol (again) is now OK everywhere.&lt;br /&gt;
# This is not a functional release but a maintenance release concerning a problem which occurred in Poland and France where the prediction in pwsFWI was aborted.&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.1 (31/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 for javascript/Highcharts and as &amp;amp;deg; for HTML and should display always and everywhere it is required. Yes, it now truly is... (I hope)&lt;br /&gt;
# The observation about minimum humidity was correct and has been fixed. Now the lowest prediction of all three hour blocks is entered in the calculations and the prediction table (thanks to meteosangonera for looking deep into the system!)&lt;br /&gt;
&lt;br /&gt;
==== version 1.8.0 (30/10/2019) ====&lt;br /&gt;
# Graphs/pwsFWI: the degree symbol before Celsius or Fahrenheit is now encoded as Unicode 00B0 and should display always and everywhere it is required.&lt;br /&gt;
# In Graphs, the Go button has been moved to the right side of the graph selector.&lt;br /&gt;
# In SysInfo, The Linux rPi OS now has a description e.g. Raspbian GNU/Linux 10 (buster) besides only the numerical version.&lt;br /&gt;
# pwsFWI: A predictive system - 5 days - has been created for pwsFWI. This is a relatively complex and major change. Please read the ReadMe on how to activate and use it. &lt;br /&gt;
&lt;br /&gt;
==== version 1.7.2 (27/10/2019) ====&lt;br /&gt;
# In the Monthly Temp and Monthly Rain graphs, the MaxNrOfSeriesVisibileInGraph, now is valid for the most recent years iso the first years.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.1 (25/10/2019) ====&lt;br /&gt;
# Initially in the Monthly Rain and Monthly Temp graphs only MaxNrOfSeriesVisibileInGraph series are shown. This ini-parameter defaults to 2. If you set it to a number greater than the number of series you have, all series are displayed;&lt;br /&gt;
# Created a new colour set to avoid conflict with the black normal series and create more contrast. Currently 13 colours are defined, more than 13 series start reusing the colours.&lt;br /&gt;
# The colour series are added to the Graphs section in the inifile so every user can change the defaults. If a graph does not use the default colours, it&#039;s colours will be hard coded and no users interference can be made.&lt;br /&gt;
# NOTE: comments are allowed in the inifile: first character on the line must be &amp;quot;;&amp;quot;. Empty lines remain as does a sorting done by the user.&lt;br /&gt;
&lt;br /&gt;
==== version 1.7.0 (22/10/2019) ====&lt;br /&gt;
# The Normal series in the Graphs now always have the colour black;&lt;br /&gt;
# All zero-valued series points were not printed. That has been changed to: zero-valued series points outside the series (incomplete years) are not plotted, zero-valued series data are plotted;&lt;br /&gt;
# The inifile handling has been greatly revised to facilitate the strings (see next bullet point). Most notably: an empty or nonexistent ini will be reinitialised. User values remain valid until deleted which resets default. A deleted or non existent key will be created when needed. Limited space for strings will need to be determined by trial and error. Sorting and replacing sections and keys remain in tact, empty lines disappear;&lt;br /&gt;
# Strings are added to the inifile to facilitate CumulusUtils to show a different language. CumulusUtils will not have the possibility to switch languages at runtime. The tags are - I think - self explanatory. If anybody has a problem, please let me know;&lt;br /&gt;
# Units are added to the graphs and will show what is used by Cumulus. Note: in pwsFWI all imperial values are converted implicitly to metric because the meteorological formula&#039;s are metric. Therefore the table in pwsFWI only metric values are shown and not the imperial values.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.7 (19/10/2019) ====&lt;br /&gt;
# My bad: I noticed that every installation used a 30 day period for the daily rain graph and could not change it. That has been corrected.&lt;br /&gt;
# The &#039;Normal&#039; values in the NOAA settings apparently are written under the regime of the locale which means the decimal separator can be either comma or point. Cumulus 1 and 3 seem different in this respect (I could not be 100% sure) so I created a workaround to always read it correctly, whichever format. The decimal separator is assumed to be only point or comma.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.5 (18/10/2019) ====&lt;br /&gt;
# Formal release of the Graphs module.&lt;br /&gt;
# Added ini parameter for MovingAveragePeriod (default 180)&lt;br /&gt;
# Changed title of graph Daily Rainfall and added period to x-axis title;&lt;br /&gt;
# Changed some minor things in layout of graphs;&lt;br /&gt;
# Added new graph: rain per month (With Normal Value line);&lt;br /&gt;
# Top10: Removed the output top10TableStyle.txt (please remove the corresponding include from your website). Only one files exists for top10: top10Table.txt. There should be no difference.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.2 (16/10/2019) ====&lt;br /&gt;
# Bug fix for the position of the credits under the pwsFWI and top10 tables;&lt;br /&gt;
# Some minor spaces/CSS fixes;&lt;br /&gt;
# Major fix for Graphs, which inhibited it to run correctly when top10 would be demanded in the same run;&lt;br /&gt;
# Major fix for Graphs which did not show the graph when an apostrophe was in the LocDesc string in Cumulus.ini. The apostrophe is now permitted.&lt;br /&gt;
# Added the Monthly Temperature graph. See above.&lt;br /&gt;
&lt;br /&gt;
==== version 1.6.0 (14/10/2019) ====&lt;br /&gt;
# Because some of you put all their data online with the pwsFWI module, the interface has been adapted by beteljuice, to account for a better handling of some 4000 lines. It now uses a small window of roughly 22 lines and a scrollbar. The headers remain locked.&lt;br /&gt;
# As a kind of giveaway Easter Egg, you will also find a first version of the graphs module (commandline parameter &#039;graphs&#039;). Two graphs have been implemented so far. There is a drop down choice which graph you want to see. Feedback with comments and wishes is appreciated. So far this is not a release and no options for the graphs have been implemented yet.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.1 (12/10/2019) ====&lt;br /&gt;
# Some finetuning of the web interface pwsFWI (also known as bug fixing): 1)border spacing of table now correct; 2)Legend now also in Standard; 3)pwsFWIcurrent now has a beteljuice approved styling;&lt;br /&gt;
# Check for a minimum nr of lines (currently 35) in dayfile.txt for useful results.&lt;br /&gt;
&lt;br /&gt;
==== version 1.5.0 (9/10/2019) ====&lt;br /&gt;
# A sixth warning level has been added to pwsFWI, named: Catastrophic, colour purple. The parameter in the inifile is WarningLevel, possible values : 5 or 6. Read the ABC article below.&lt;br /&gt;
# Some bug fixes around the red warning level where it was changed to green or where the indicator was supposed to be in the green zone but remaind red.&lt;br /&gt;
# The process of the Smoothing and Quenching has been slightly changed to better process single rain shower events. (See blog: &amp;quot;Behaviour of pwsFWI with first rain&amp;quot;).&lt;br /&gt;
# For pwsFWI and extra output has been created: pwsFWIcurrent.txt, containing an HTML &amp;lt;span&amp;gt;-tag, for the required colour. To use wherever the use wants the dayvalue, e.g. on the frontpage dashboard (see my site for an example).&lt;br /&gt;
# All output now will be written to a subdirectory utils/ one level below the Cumulus main directory. Only cumulusutils.exe (and possible libraries) and the cumulusutils.ini remain in the Cumulus directory.&lt;br /&gt;
# Fixed an algorithmic bug in pwsFWI, not yet exposed, which caused a problem when analysis would be exactly the amount of days in dayfile.&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.1 (3/10/2019) ====&lt;br /&gt;
# In top10, unit &#039;percentage&#039; has changed to &#039;%&#039;&lt;br /&gt;
&lt;br /&gt;
==== version 1.0.0 (30/9/2019) ====&lt;br /&gt;
# Good enough for version 1.0.0&lt;br /&gt;
# The Analysis csv file is now governed by the locale which means date, separators and decimal point are written conform the locale on the machine where cumulusutils runs. This should make it easier to open it with excel.&lt;br /&gt;
# Changed copyright notice / text under the tables.&lt;br /&gt;
# Fixed scaling when pwsFWI value surpassed value outside scale&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.1 (26/9/2019) ====&lt;br /&gt;
# Changes to the meteorological equations used for Vapour Deficit (see my blog of 26 sep 2019).&lt;br /&gt;
# Closed a call on SysInfo: Windows 8 really needs to have its updates.&lt;br /&gt;
# Several minor bugfixed/tunings in the Beteljuice-format.&lt;br /&gt;
# Code cleanup and minor fixes.&lt;br /&gt;
&lt;br /&gt;
==== version 0.9.0 (24/9/2019) ====&lt;br /&gt;
# Bug fix: sysinfo under Windows (any version) now breaks off if resultstrings are unexpected. Message displayed in logfile, please send. However, errorhandling before that happens has been improved (again). &lt;br /&gt;
# Two pwsFWI result formats are now available: Standard and Beteljuice. The latter of course the better. (Thanks to Beteljuice, takes a lot of time iteration and testing though). Note the corresponding ini-parameters!&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.8 (22/9/2019) ====&lt;br /&gt;
# Bug fix: monthly rainfall did not show in top10 if the station was running ten or more months.&lt;br /&gt;
# Changed header of pwsFWI table: &amp;quot;Drought&amp;quot; was changed to &amp;quot;Consecutive days without rain&amp;quot; &lt;br /&gt;
# Ran spellchecker on this file&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.7 (21/9/2019) ====&lt;br /&gt;
# Functional change/Bug fix: The pwsFWI CSV-file now has a slightly different format. All figures are now floating point with max. two decimal accuracy (except for the drought period which are in days). This is generated without CultureInfo so, I assume the decimal period (or comma) is according to your machine setting (which is why I changed the comma separation to the semicolon). Let me know if this functions the wrong way.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.6 (21/9/2019) ====&lt;br /&gt;
# Bug fix: During the updating of cumulusutils.ini erroneously Analysis was always reset to its default value.&lt;br /&gt;
&lt;br /&gt;
==== version 0.8.5 (20/9/2019) ====&lt;br /&gt;
# Bug fix: high monthly rainfall in top10 table fixed if station runs less than 10 month. Top10 table now contains no entries for months without data. &lt;br /&gt;
# Dry period added to the pwsFWI table.&lt;br /&gt;
# Changed some table width.&lt;br /&gt;
# Exception handling now should be generic. IF(!) an exception occurs, the exceptions should always be handled such that the application recovers or ends with a graceful exit with enough info in the log file. The exception message is always printed in the log including a possible stackdump.&lt;br /&gt;
# The stations should have at least 30 days of days of data for top10. Otherwise this application will not run correctly. That has been taken care of.&lt;br /&gt;
# Analysis possibility for pwsFWI. See above in functionality.&lt;br /&gt;
# SysInfo page has now elaborate try/catch errorhandling on all system accesses, looking for information. If no information is found or in case of error, &#039;unknown&#039; is written on the webpage. The variety within Linux/Unix is troublesome. Since there is no generic command to find the temperature of the processor, only for Raspberry it is known. Therefore I left that out.&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.5 (19/9/2019) ====&lt;br /&gt;
# All dayfile&#039;s can be used now, metric or imperial units will be handled and for the calculations of pwsFWI the conversions are automatically made. Let me know if you spot an anomaly.&lt;br /&gt;
# Headers of the top10 table now include the unit of measurement&lt;br /&gt;
# Headers of the top10 table now can be translated via the cumulusutils.ini&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.7.0 (18/9/2019) ====&lt;br /&gt;
# Made a ReadMe&lt;br /&gt;
# Finished the implementation of the ini-handling&lt;br /&gt;
# some corrections and code cleanup&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.5 (17/9/2019) ====&lt;br /&gt;
# Completed the System Info page which is now also available for Windows 10 (maybe also lower versions, if not, let me know).&lt;br /&gt;
# Reading of the Cumulus.ini is now complete. This means that a lot of information can now be used and the preparations for a cumulusutils.ini are finished.&lt;br /&gt;
# Minor changes everywhere. Cleaning up.&lt;br /&gt;
&lt;br /&gt;
==== version 0.6.0 (16/9/2019) ====&lt;br /&gt;
# Added a System Info page for Unix/Linux. Run with command line parameter -ftp.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.3 (16/9/2019) ====&lt;br /&gt;
# Solved a technical problem in pwsFWI which had a big functional effect.&lt;br /&gt;
# Added a factor to pwsFWI to account for the duration of a drought period. In future the weight of this factor may change slightly.&lt;br /&gt;
&lt;br /&gt;
==== version 0.5.1 ====&lt;br /&gt;
# Currently version 0.5.1 and the pwsFWI has now info with links and info. If you disagree and would like to see changes, please let me know.&lt;br /&gt;
# The executable now creates a cumulusutils.log. If any problems occur, please send it when you contact me, this may help out.&lt;br /&gt;
# I solved a rPi problem in converting the numbers from ascii to floats and doubles etc. C# is pretty tricky on this issue and there&#039;s a steep learning curve on my side. Hope I got it all right by now, but it is not impossible you see something strange on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Cumulusutils.ini&amp;diff=12325</id>
		<title>Cumulusutils.ini</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Cumulusutils.ini&amp;diff=12325"/>
		<updated>2026-01-11T18:44:55Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* [MeteoCam] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
 {|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
CumulusUtils is a configurable application and its parameters are stored in the file CumulusUtils.ini.&lt;br /&gt;
&lt;br /&gt;
This page will list most parameters and if deemed necessary, a short explanation will be given. Most parameters will be discussed on the page of the module.&lt;br /&gt;
&lt;br /&gt;
The phrase &#039;&#039;&#039;most parameters&#039;&#039;&#039; is used, because parameters - if non-existent - are created with their default values when used during a run of CumulusUtils. As not all parameters are needed, those not needed will not be seen by the user. Although through testing I assume my inifile has all parameters, I cannot guarantee that: the complexity has increased quickly and I may have missed some. You are invited to notify me or update this file yourself. (I and me being [https://cumulus.hosiene.co.uk/memberlist.php?mode=viewprofile&amp;amp;u=9016 HansR])&lt;br /&gt;
&lt;br /&gt;
The order of the parameters can be changed by the user and will be maintained. This can be handy in grouping parameters within sections, especially for the larger sections like &#039;&#039;Website&#039;&#039; and &#039;&#039;Graphs&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lines starting with a semicolon (&#039;;&#039;) are treated as comment and ignored.&lt;br /&gt;
&lt;br /&gt;
Each parameter can be reset to its default by simply deleting it from the file. A new entry will be created with its default value on the next run, adding it to the end of the already existing section. A total reset of all parameters is accomplished by deleting this file, the user has to start from scratch.&lt;br /&gt;
&lt;br /&gt;
== Listing of the Parameters per section ==&lt;br /&gt;
&lt;br /&gt;
=== [General] ===&lt;br /&gt;
LoggingOn=true&amp;lt;br&amp;gt;&lt;br /&gt;
NormalMessageToConsole=true&amp;lt;br&amp;gt;&lt;br /&gt;
TraceInfoLevel=info&amp;lt;br&amp;gt;&lt;br /&gt;
IgnoreDataErrors=true&amp;lt;br&amp;gt;&lt;br /&gt;
GeneratejQueryInclude=false&amp;lt;br&amp;gt;&lt;br /&gt;
DoLibraryIncludes=false&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;;Language=nl-NL&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Language=en-GB&amp;lt;br&amp;gt;&lt;br /&gt;
ChartContainerHeight=650&amp;lt;br&amp;gt;&lt;br /&gt;
ChartBackgroundImage=&amp;lt;br&amp;gt;&lt;br /&gt;
UseScrollableTables=true       &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;NOTE: Used for Top10, Day Records and pwsFWI. The thin scrollbar does work with FireFox but not with Chrome&amp;lt;br&amp;gt;&lt;br /&gt;
RecordsBeganDate=01/01/20 &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Normally used to trim your start year to 01/01/yy &#039;&#039;&#039;(note the 2-digit year)&#039;&#039;&#039; but any date within the dataset can be used&amp;lt;br&amp;gt;&lt;br /&gt;
MaxErrors=10&amp;lt;br&amp;gt;&lt;br /&gt;
CMXport=8998&amp;lt;br&amp;gt;&lt;br /&gt;
UseSpecificHighchartsVersion=12.3  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &#039;&#039;NOTE: If UseSpecificHighchartsVersion is empty the latest version is used by default. Otherwise the version in that parameter (e.g.12.3) is used&amp;lt;br&amp;gt;&lt;br /&gt;
DoModular=false&amp;lt;br&amp;gt;&lt;br /&gt;
ModulePath=&amp;lt;br&amp;gt;&lt;br /&gt;
NeedSolarEnergyDailyValuesInCSV=false    &amp;amp;nbsp;&amp;amp;nbsp;Used to output the values of the Solar Energy graph into a CSV file&amp;lt;br&amp;gt;  &lt;br /&gt;
CheckDateOrder=true   &amp;amp;nbsp;&amp;amp;nbsp;Checks the date order when reading the Monthly Logs. Set to false when corrections made&amp;lt;br&amp;gt;&lt;br /&gt;
LastUploadTime=13/03/24 10:30&amp;lt;br&amp;gt;&lt;br /&gt;
ConnectNulls=false   &amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;false&#039;&#039; produces a gap in the charts for null values, &#039;&#039;true&#039;&#039; draws a line between adjoining non-nulls.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The parameters &#039;&#039;GeneratejQueryInclude&#039;&#039; and &#039;&#039;DoLibraryIncludes&#039;&#039; require special attention. Please read the chapter on the [[modules]] for modular use of javascript libraries.&lt;br /&gt;
&lt;br /&gt;
=== [pwsFWI] ===&lt;br /&gt;
Analyse=90&amp;lt;br&amp;gt;&lt;br /&gt;
WarningLevel=5&amp;lt;br&amp;gt;&lt;br /&gt;
ResultFormat=beteljuice&amp;lt;br&amp;gt;&lt;br /&gt;
FireImage=true&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;predictionURL=http://api.yourweather.co.uk/index.php?api_lang=en&amp;amp;localidad=xxxxxx&amp;amp;affiliate_id=yyyyyyyyyy&amp;amp;v=2.0&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
PredictionBackground=Moccasin&amp;lt;br&amp;gt;&lt;br /&gt;
CurrentIndexFormat=Standard&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;CurrentIndexFormat=Betel-Kocher&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
CurrentIndexDay=Today&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;CurrentPwsFWI=&amp;lt;span id=&#039;CurrentPwsFWI&#039; style=&amp;quot;border: 1px solid black;text-align:center;background:green;color: white&amp;quot;&amp;gt; &amp;amp;nbsp;26.4&amp;amp;nbsp;pwsFWI&amp;lt;/span&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: &#039;&#039;CurrentPwsFWI&#039;&#039; is not configurable but is set/read by the application. Any value you put here will be modified.&lt;br /&gt;
&lt;br /&gt;
=== [Top10] ===&lt;br /&gt;
BackgroundColorHeader=#d0d0d0&amp;lt;br&amp;gt;&lt;br /&gt;
BackgroundColorTable=#f0f0f0&amp;lt;br&amp;gt;&lt;br /&gt;
TextColorAccentTable=DarkOrange&amp;lt;br&amp;gt;&lt;br /&gt;
TextColorHeader=Green&amp;lt;br&amp;gt;&lt;br /&gt;
NumberOfColumns=3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [NOAA] ===&lt;br /&gt;
FTPDirectory=./reports/&amp;lt;br&amp;gt;&lt;br /&gt;
ColorNOAAText=Black&amp;lt;br&amp;gt;&lt;br /&gt;
ColorNOAABackground=#f9f8EB&amp;lt;br&amp;gt;&lt;br /&gt;
StartInCurrentMonth=true&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: the report directory MUST be the directory you configure in &#039;&#039;Cumulus.ini&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== [Graphs] === &lt;br /&gt;
UseHighchartsBoostModule=true&amp;lt;br&amp;gt;&lt;br /&gt;
UseNormalTempReference=both&amp;lt;br&amp;gt;&lt;br /&gt;
UseNormalRainReference=both&amp;lt;br&amp;gt;&lt;br /&gt;
MaxNrOfSeriesVisibileInGraph=3&amp;lt;br&amp;gt;&lt;br /&gt;
PeriodMovingAverage=365   &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &#039;&#039;NB:  period for running average in Graphs now has a MaxValue of 365. If it has a larger value it is corrected to 365 or 366 if a leap year.&amp;lt;br&amp;gt; &lt;br /&gt;
WindRoseNrOfWindforceClasses=6&amp;lt;br&amp;gt;&lt;br /&gt;
WindRoseMaxWindSpeed=60&amp;lt;br&amp;gt;&lt;br /&gt;
WindRoseInversed=false&amp;lt;br&amp;gt;&lt;br /&gt;
WindrunClassWidth=75&amp;lt;br&amp;gt;&lt;br /&gt;
DailyRain=true&amp;lt;br&amp;gt;&lt;br /&gt;
MonthlyRain=true&amp;lt;br&amp;gt;&lt;br /&gt;
YearRainstats=true&amp;lt;br&amp;gt;&lt;br /&gt;
YearMonthRainstats=true&amp;lt;br&amp;gt;&lt;br /&gt;
RAINvsEVT=true&amp;lt;br&amp;gt;&lt;br /&gt;
MonthlyTemp=true&amp;lt;br&amp;gt;&lt;br /&gt;
YearTempstats=true&amp;lt;br&amp;gt;&lt;br /&gt;
YearMonthTempstats=true&amp;lt;br&amp;gt;&lt;br /&gt;
WarmerDays=true&amp;lt;br&amp;gt;&lt;br /&gt;
HeatMap=true&amp;lt;br&amp;gt;&lt;br /&gt;
WindRose=true&amp;lt;br&amp;gt;&lt;br /&gt;
Windrun=true&amp;lt;br&amp;gt;&lt;br /&gt;
SolarHours=true&amp;lt;br&amp;gt;&lt;br /&gt;
SolarEnergy=true&amp;lt;br&amp;gt;&lt;br /&gt;
SolarHoursYearMonth=true&amp;lt;br&amp;gt;&lt;br /&gt;
SolarEnergyYearMonth=true&amp;lt;br&amp;gt;&lt;br /&gt;
TempSum=true&amp;lt;br&amp;gt;&lt;br /&gt;
GrowingDegreeDays=true&amp;lt;br&amp;gt;&lt;br /&gt;
Seasons=true&amp;lt;br&amp;gt;&lt;br /&gt;
DailyEVT=true&amp;lt;br&amp;gt;&lt;br /&gt;
MonthlyEVT=true&amp;lt;br&amp;gt;&lt;br /&gt;
AverageClash=true&amp;lt;br&amp;gt;&lt;br /&gt;
GraphColors=&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;GraphColors=[&#039;#058DC7&#039;, &#039;#50B432&#039;, &#039;#ED561B&#039;, &#039;#DDDF00&#039;, &#039;#24CBE5&#039;, &#039;#64E572&#039;, &#039;#FF9655&#039;, &#039;#FFF263&#039;, &#039;#6AF9C4&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
WindRoseColors=&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;WindRoseColors=[&#039;lightgrey&#039;, &#039;green&#039;, &#039;blue&#039;, &#039;yellow&#039;, &#039;orange&#039;, &#039;red&#039;, &#039;deeppink&#039;, &#039;purple&#039;, &#039;black&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
HeatmapNumberOfYearsPerPage=10&amp;lt;br&amp;gt;&lt;br /&gt;
GrowingDegreeDaysReferenceTemp=5&amp;lt;br&amp;gt;&lt;br /&gt;
WinterToSpringTemperatureLimit=5&amp;lt;br&amp;gt;&lt;br /&gt;
SpringToSummerTemperatureLimit=15&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [FTP site] ===&lt;br /&gt;
DoUploadFTP=true&amp;lt;br&amp;gt;&lt;br /&gt;
UploadDir=&amp;lt;br&amp;gt;&lt;br /&gt;
FtpLog=on&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [Maps] ===&lt;br /&gt;
Website=[fill in your website URL for the CUtils site or the specifc page of your own website]&amp;lt;br/&amp;gt;&lt;br /&gt;
Participant=true&amp;lt;br/&amp;gt;&lt;br /&gt;
DoneToday=15-05-21&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [Website] ===&lt;br /&gt;
// The statistics parameters are currently either for Google or Matomo, Google is default &amp;lt;/br&amp;gt;&lt;br /&gt;
// If the corresponding ID&#039;s and or Url are not filled in, invalid code is generated. If you do not want &amp;lt;/br&amp;gt;&lt;br /&gt;
// statistics than set &#039;&#039;StatisticsType&#039;&#039; without value &amp;lt;/br&amp;gt; &amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
StatisticsType= [Google || Matomo] default is empty  &amp;lt;/br&amp;gt;&lt;br /&gt;
GoogleStatsId= &amp;lt;/br&amp;gt;&lt;br /&gt;
MatomoTrackerUrl= &amp;lt;/br&amp;gt;&lt;br /&gt;
MatomoSiteId= &amp;lt;/br&amp;gt;&lt;br /&gt;
PermitGoogleOptout=false (default)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CumulusRealTimeLocation=&amp;lt;br&amp;gt;&lt;br /&gt;
CumulusRealTimeInterval=30&amp;lt;br&amp;gt;&lt;br /&gt;
ShowUV=true&amp;lt;br&amp;gt;&lt;br /&gt;
ShowSolar=true&amp;lt;br&amp;gt;&lt;br /&gt;
HeaderLeftText=&amp;lt;br&amp;gt;&lt;br /&gt;
HeaderRightText=&amp;lt;br&amp;gt;&lt;br /&gt;
SiteTitleAddition=&amp;lt;br&amp;gt;&lt;br /&gt;
PwsfwiButtonInHeader=true (default) &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; =&amp;gt; When true the direct access pwsFWI button will show in the header, when false it shows in the menu bar &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ColorMenuBackground=Lightgrey&amp;lt;br&amp;gt;&lt;br /&gt;
ColorMenuText=Black&amp;lt;br&amp;gt;&lt;br /&gt;
ColorDropdownMenuBackground=Lightgrey&amp;lt;br&amp;gt;&lt;br /&gt;
ColorDropdownMenuText=Black&amp;lt;br&amp;gt;&lt;br /&gt;
ColorDropdownMenuHoverBackground=Silver&amp;lt;br&amp;gt;&lt;br /&gt;
ColorDropdownMenuHoverText=Black&amp;lt;br&amp;gt;&lt;br /&gt;
ColorTitleBar=#E87510&amp;lt;br&amp;gt;&lt;br /&gt;
ColorTitleText=White&amp;lt;br&amp;gt;&lt;br /&gt;
ColorDashboardCellTitleBarBackground=#C5C55B&amp;lt;br&amp;gt;&lt;br /&gt;
ColorDashboardCellTitleBarText=White&amp;lt;br&amp;gt;&lt;br /&gt;
ColorDashboardCellText=Black&amp;lt;br&amp;gt;&lt;br /&gt;
ColorDashboardCellBackground=White&amp;lt;br&amp;gt;&lt;br /&gt;
ColorReportviewText=black&amp;lt;br&amp;gt;&lt;br /&gt;
ColorReportviewBackground=white&amp;lt;br&amp;gt;&lt;br /&gt;
ColorReportviewTableData=Black&amp;lt;br&amp;gt;&lt;br /&gt;
ColorFooterLink=#E87510&amp;lt;br&amp;gt;&lt;br /&gt;
ColorFooterLinkHover=OrangeRed&amp;lt;br&amp;gt;&lt;br /&gt;
ColorFooterBackground=lightgrey&amp;lt;br&amp;gt;&lt;br /&gt;
ColorFooterText=Black&amp;lt;br&amp;gt;&lt;br /&gt;
ColorBodyBackground=white&amp;lt;br&amp;gt;&lt;br /&gt;
ColorDashboardTextAccent=Chartreuse&amp;lt;br&amp;gt;&lt;br /&gt;
ColorTitleBackGroundImage=&amp;lt;br&amp;gt;&lt;br /&gt;
ColorToggler=Black&amp;lt;br&amp;gt;&lt;br /&gt;
ColorDashboardUpIndicator=Chartreuse&amp;lt;br&amp;gt;&lt;br /&gt;
ColorDashboardDownIndicator=Red&amp;lt;br&amp;gt;&lt;br /&gt;
SteelseriesFramedesign=SHINY_METAL&amp;lt;br&amp;gt;&lt;br /&gt;
SteelseriesBackgroundColor=BROWN&amp;lt;br&amp;gt;&lt;br /&gt;
SteelseriesPointerColour=RED&amp;lt;br&amp;gt;&lt;br /&gt;
SteelseriesPointerType=type3&amp;lt;br&amp;gt;&lt;br /&gt;
SteelseriesDirAvgPointertype=TYPE3&amp;lt;br&amp;gt;&lt;br /&gt;
SteelseriesDirAvgPointerColour=BLUE&amp;lt;br&amp;gt;&lt;br /&gt;
SteelseriesLcdColour=ORANGE&amp;lt;br&amp;gt;&lt;br /&gt;
SteelseriesForegroundType=type1&amp;lt;br&amp;gt;&lt;br /&gt;
SteelseriesKnobType=STANDARD_KNOB&amp;lt;br&amp;gt;&lt;br /&gt;
SteelseriesKnobStyle=SILVER&amp;lt;br&amp;gt;&lt;br /&gt;
SteelseriesRainUseSectionColours=true&amp;lt;br&amp;gt;&lt;br /&gt;
SteelseriesRainUseGradientColours=true&amp;lt;br&amp;gt;&lt;br /&gt;
SteelseriesTempThresholdValue=30&amp;lt;br&amp;gt;&lt;br /&gt;
SteelseriesLedVisible=false&amp;lt;br&amp;gt;&lt;br /&gt;
ThresholdTempVisible=true&amp;lt;br&amp;gt;&lt;br /&gt;
ThresholdTempValue=30&amp;lt;br&amp;gt;&lt;br /&gt;
ThresholdHumidityVisible=true&amp;lt;br&amp;gt;&lt;br /&gt;
ThresholdHumidityValue=80&amp;lt;br&amp;gt;&lt;br /&gt;
ThresholdWindVisible=true&amp;lt;br&amp;gt;&lt;br /&gt;
ThresholdWindValue=30&amp;lt;br&amp;gt;&lt;br /&gt;
ThresholdRainVisible=true&amp;lt;br&amp;gt;&lt;br /&gt;
ThresholdRainValue=20&amp;lt;br&amp;gt;&lt;br /&gt;
ThresholdRRateVisible=true&amp;lt;br&amp;gt;&lt;br /&gt;
ThresholdRRateValue=10&amp;lt;br&amp;gt;&lt;br /&gt;
ThresholdUVVisible=true&amp;lt;br&amp;gt;&lt;br /&gt;
ThresholdUVValue=8&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphTempColor=#058DC7&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphDewPointColor=#50B432&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphApparentTempColor=#ED561B&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphFeelsLikeColor=#DDDF00&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphWindChillColor=#24CBE5&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphHeatIndexColor=#64E572&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphHumidexColor=#FF9655&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphInsideTempColor=#6AF9C4&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphPressureColor=#058DC7&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphBearingColor=#058DC7&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphAverageBearingColor=#ED561B&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphWindSpeedColor=#058DC7&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphWindGustColor=#ED561B&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphRainfallColor1=#50B432&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphRainfallColor2=&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphRainfallColor3=&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphRainRateColor=#058DC7&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphHumidityColor=#058DC7&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphInsideHumidityColor=#50B432&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphSolarTheoreticalMaxColor1=#DDDF00&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphSolarTheoreticalMaxColor2=&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphSolarTheoreticalMaxColor3=&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphSolarRadiationColor1=#FF9655&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphSolarRadiationColor2=&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphSolarRadiationColor3=&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphUVindexColor=#058DC7&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphSunHoursColor=gold&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphDailyRainColor=#058DC7&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphLineWidth=2&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphDailyTempAverageColor=#50B432&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphDailyTempMinColor=#058DC7&amp;lt;br&amp;gt;&lt;br /&gt;
HomeGraphDailyTempMaxColor=#ED561B&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-1=TemperatureText&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-2=PressureText&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-3=RainText&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-4=Clocks&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-8=WindText&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-9=SolarDisc&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-10=LunarDisc&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-11=HumidityText&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-12=SolarText&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-13=TemperatureGauge&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-14=OtherTempsGauge&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-15=PressureGauge&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-16=HumidityGauge&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-20=CloudBaseGauge&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-21=RainGauge&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-22=RainSpeedGauge&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-23=SolarGauge&amp;lt;br&amp;gt;&lt;br /&gt;
Panel-24=UVGauge&amp;lt;br&amp;gt;&lt;br /&gt;
UseCMXMoonImage=false&amp;lt;br&amp;gt;&lt;br /&gt;
MoonImageLocation=&amp;lt;br&amp;gt;&lt;br /&gt;
ColorTitleBackGroundImage=HPIM3899_day.JPG&amp;lt;br&amp;gt;&lt;br /&gt;
ColorTitleBackGroundImageCivil=HPIM3899_civil.JPG&amp;lt;br&amp;gt;&lt;br /&gt;
ColorTitleBackGroundImageNautical=HPIM3899_nautical.JPG&amp;lt;br&amp;gt;&lt;br /&gt;
ColorTitleBackGroundImageAstronomical=HPIM3899_astronomical.JPG&amp;lt;br&amp;gt;&lt;br /&gt;
ColorTitleBackGroundImageNight=HPIM3899_night.JPG&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [Forecasts] ===&lt;br /&gt;
&amp;lt;nowiki&amp;gt;SevenDayPredictionURL=http://api.yourweather.co.uk/index.php?[registration specifics]&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
ForecastSystem=SpotWx&amp;lt;br&amp;gt;&lt;br /&gt;
NorwegianURL=https://retro.yr.no/place/Netherlands/Groningen/Wagenborgen/&amp;lt;br&amp;gt;&lt;br /&gt;
WXsimURL=&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: the Norwegian site is in process of transition, it will be reworked sometime. At some point  it may cease to function.&lt;br /&gt;
&lt;br /&gt;
=== [SysInfo] ===&lt;br /&gt;
ReportWidth=700&amp;lt;br&amp;gt;&lt;br /&gt;
SystemInfoLinesToSkip=&amp;lt;br&amp;gt;&lt;br /&gt;
ExtraStationInfo=&amp;lt;br&amp;gt;&lt;br /&gt;
Tx=   &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; : &#039;&#039;For DAVIS WLL station indicating the channel for which to display statistics&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [Thrifty] ===&lt;br /&gt;
Top10RecordsPeriod=1&amp;lt;br&amp;gt;&lt;br /&gt;
RainGraphsPeriod=1&amp;lt;br&amp;gt;&lt;br /&gt;
TempGraphsPeriod=1&amp;lt;br&amp;gt;&lt;br /&gt;
WindGraphsPeriod=3&amp;lt;br&amp;gt;&lt;br /&gt;
MiscGraphsPeriod=1&amp;lt;br&amp;gt;&lt;br /&gt;
MapsPeriod=1&amp;lt;br&amp;gt;&lt;br /&gt;
SolarGraphsPeriod=3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [StationMap] ===&lt;br /&gt;
StationMapMenu=true&amp;lt;br&amp;gt;&lt;br /&gt;
ArrowLatitude=53.2948&amp;lt;br&amp;gt;&lt;br /&gt;
ArrowLongitude=7.0673&amp;lt;br&amp;gt;&lt;br /&gt;
Zoomlevel=13&amp;lt;br&amp;gt;&lt;br /&gt;
CompassRosePosition=bottomright&amp;lt;br&amp;gt;&lt;br /&gt;
CompassRoseType=2&amp;lt;br&amp;gt;&lt;br /&gt;
WindArrowType=1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [Compiler] ===&lt;br /&gt;
SmaPeriod=5&amp;lt;br&amp;gt;&lt;br /&gt;
DoneToday=04-09-21&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [MeteoCam] ===&lt;br /&gt;
  MeteoCamMenu=true&lt;br /&gt;
  MeteoCamDir=./MeteoCam&lt;br /&gt;
  TimelapseExtension=mp4&lt;br /&gt;
  MeteoCamName=meteocam.jpg&lt;br /&gt;
  CamType=[manual | EcowittHP10]&lt;br /&gt;
  FontSize=24                      ; Start over overlay parameters&lt;br /&gt;
  FontWeight=bold&lt;br /&gt;
  BottomOffset=150&lt;br /&gt;
  BlockLeftOrRight=right&lt;br /&gt;
  BorderOffset=50&lt;br /&gt;
  TextAlign=left&lt;br /&gt;
  TextColor=LightBlue&lt;br /&gt;
  WantToSeeLines=WTPHR&lt;br /&gt;
&lt;br /&gt;
=== [AirLink] ===&lt;br /&gt;
(before version 6.1 this section was &#039;&#039;&#039;[AirQuality]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CountrySelected=EU&amp;lt;br/&amp;gt;&lt;br /&gt;
WantToSeeNow=true&amp;lt;br/&amp;gt;&lt;br /&gt;
WantToSeeNowCast=true&amp;lt;br/&amp;gt;&lt;br /&gt;
WantToSee1hr=true&amp;lt;br/&amp;gt;&lt;br /&gt;
WantToSee3hr=true&amp;lt;br/&amp;gt;&lt;br /&gt;
WantToSee24hr=true&amp;lt;br/&amp;gt;&lt;br /&gt;
WantToSeeWind=true&amp;lt;br/&amp;gt;&lt;br /&gt;
CleanupAirlinkLogs=false&amp;lt;br/&amp;gt;&lt;br /&gt;
ReferenceLineThickness=4&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [ExtraSensors] ===&lt;br /&gt;
ExtraSensors=false&amp;lt;br/&amp;gt;&lt;br /&gt;
ParticipatesSensorCommunity=false&amp;lt;br/&amp;gt;&lt;br /&gt;
CleanupExtraSensorslog=false&amp;lt;br/&amp;gt;&lt;br /&gt;
UserModificationExtraSensorCharts=false&amp;lt;br/&amp;gt;&lt;br /&gt;
LightningSensor=[ false | true ]&amp;lt;br/&amp;gt;&lt;br /&gt;
ExternalExtraSensors=[ fill with comma separated liste of sensor names ]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The list of parameters below defines which extra sensors are used in your system (combine with strings.txt for the descriptions (Captions) used). Fill with comma separated integer list representing the extra sensor(s):&lt;br /&gt;
&lt;br /&gt;
ExtraTemp=&amp;lt;br/&amp;gt;&lt;br /&gt;
ExtraHum=&amp;lt;br/&amp;gt;&lt;br /&gt;
ExtraDP=&amp;lt;br/&amp;gt;&lt;br /&gt;
SoilTemperature=&amp;lt;br/&amp;gt;&lt;br /&gt;
SoilMoisture=&amp;lt;br/&amp;gt;&lt;br /&gt;
AirQuality=&amp;lt;br/&amp;gt;&lt;br /&gt;
UserTemp=&amp;lt;br/&amp;gt;&lt;br /&gt;
LeafTemp=&amp;lt;br/&amp;gt;&lt;br /&gt;
LaserDist=&amp;lt;br/&amp;gt;&lt;br /&gt;
LaserDepth=&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [CustomLogs] ===&lt;br /&gt;
CustomLogs=false&amp;lt;br/&amp;gt;&lt;br /&gt;
UserModificationCustomLogsCharts=false&amp;lt;br/&amp;gt;&lt;br /&gt;
DoneToday=2023-10-16T12:41:00&amp;lt;br/&amp;gt;&lt;br /&gt;
ExcludedCustomLogs=&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &amp;lt;br/&amp;gt;&lt;br /&gt;
#&#039;&#039;DoneToday&#039;&#039; is not configurable but is set/read by the application. Any value you put here will be modified. If the date is today then the corresponding action will not be carried out. You can force the action by removing this parameter.&lt;br /&gt;
#the Ecowitt CO2 sensor is not parameterised but its presence is detected by the presence of a value in the database.&lt;br /&gt;
#the Ecowitt AirQuality sensors have an implicit accompanying AirQualityAvg giving the 24 hr average&lt;br /&gt;
&lt;br /&gt;
=== [Diary] ===&lt;br /&gt;
Diary=true&amp;lt;/br&amp;gt;&lt;br /&gt;
ColorDiaryText=Black&amp;lt;/br&amp;gt;&lt;br /&gt;
ColorDiaryBackground=#f9f8EB&amp;lt;/br&amp;gt;&lt;br /&gt;
ColorDiaryChartSnowDepth=yellow&amp;lt;/br&amp;gt;&lt;br /&gt;
ColorDiaryChartSnow24h=blue&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=MeteoCam&amp;diff=12324</id>
		<title>MeteoCam</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=MeteoCam&amp;diff=12324"/>
		<updated>2026-01-11T18:41:55Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Inifile parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
As a special feature CumulusUtils - from 5.6.0 - also supports a webcam in basic form (&#039;&#039;CamType=Manual&#039;&#039;) and the Ecowitt HP10 camera (&#039;&#039;CamType=EcowittHP10&#039;&#039;).&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A text overlay can be created showing the weather parameters Temperature, Humidity, Pressure, Rain, Wwind&lt;br /&gt;
&lt;br /&gt;
The values for T, P, H, R, W are visible in textual overlay on the image. Config for alignment, left/right position, border position and colour in the parameter section &#039;&#039;[MeteoCam]&#039;&#039;. In addition:&lt;br /&gt;
&lt;br /&gt;
#A parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
#When the timelapse is played, no overlay is shown.&lt;br /&gt;
&lt;br /&gt;
=== Manual ===&lt;br /&gt;
The user can specify an image basename for the cam image (on the server where the Cutils site is located) which will be displayed in the &#039;&#039;ReportView&#039;&#039; and refreshed every refresh period (of the realtime data). It is the users responsibility to configure the cam and the tools to get the image on the server. &lt;br /&gt;
&lt;br /&gt;
Also timelapse video&#039;s are supported. The user can select either the meteo cam image view or the timeelapse video view through radio buttons. The timelapse video can be selected through a drop down selector. It is the users responsibility to configure the timelapse videos and have them available on the server. &lt;br /&gt;
&lt;br /&gt;
In future and on request some additional functionalities may/will be added like multiple cam selection, a live stream (if you have one).&lt;br /&gt;
&lt;br /&gt;
=== Ecowitt HP10 ===&lt;br /&gt;
If the user specifies this type he only has to configure the file &#039;&#039;utils/meteocamrealtime.txt&#039;&#039; (generated by &#039;&#039;CUtils&#039;&#039;) through &#039;&#039;Extra Webfiles&#039;&#039; in CMX. The module then displays the image from the camera and refreshes it at the frequency the user has configured in the camera. Timelapses are not supported because Ecowitt does not gives only yesterdays URL through the software.&lt;br /&gt;
&lt;br /&gt;
== Inifile parameters ==&lt;br /&gt;
  [MeteoCam]&lt;br /&gt;
  MeteoCamMenu=true                ; When false no &#039;&#039;MeteoCam&#039;&#039; menu item will be displayed, the &#039;&#039;MeteoCam&#039;&#039; is not available&lt;br /&gt;
  MeteoCamDir=.                    ; The actual directory where the meteocam files can be found. If empty the webroot is used&lt;br /&gt;
  MeteoCamName=meteocam.jpg        ; the name of &#039;&#039;meteocam&#039;&#039; image. Any image type which can be displayed in the browser will do. e.g. &#039;&#039;meteocam.jpg&#039;&#039;&lt;br /&gt;
  TimelapseExtension=mp4           ; the extension used. Possible values: &#039;&#039;mp4&#039;&#039; (default), &#039;&#039;webm&#039;&#039; and &#039;&#039;ogg&#039;&#039;&lt;br /&gt;
  CamType                          ; either &#039;&#039;Manual&#039;&#039; (default) or &#039;&#039;EcowittHP10&#039;&#039;&lt;br /&gt;
  FontSize=24                      ; Start over overlay parameters&lt;br /&gt;
  FontWeight=bold&lt;br /&gt;
  BottomOffset=150&lt;br /&gt;
  BlockLeftOrRight=right&lt;br /&gt;
  BorderOffset=50&lt;br /&gt;
  TextAlign=left&lt;br /&gt;
  TextColor=LightBlue&lt;br /&gt;
  WantToSeeLines=WTPHR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The shown values for &#039;&#039;Dir&#039;&#039; and &#039;&#039;Name&#039;&#039; are the defaults.&lt;br /&gt;
Only &#039;&#039;CamType&#039;&#039; is used by both Types, the other parameters are only used by &#039;&#039;CamType&#039;&#039; &#039;&#039;Manual&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Inner Working ==&lt;br /&gt;
=== Manual ===&lt;br /&gt;
Each realtime refresh time the meteocam image is reloaded. It is advised not to set a too high frequency. One second e.g. is too high. 30 seconds should be OK.&lt;br /&gt;
The refresh is done while bypassing the cache so a reload always actually takes place physically.&lt;br /&gt;
&lt;br /&gt;
For the timelapse videos, when starting up, all available videos with the configured extension are fetched and displayed in the drop down list. The user can select any and when activating the timelapse through the radio button that video starts playing immediately. The default HTML5 video viewer is used which means only &#039;&#039;mp4&#039;&#039;, &#039;&#039;webm&#039;&#039; and &#039;&#039;ogg&#039;&#039; are allowed.&lt;br /&gt;
&lt;br /&gt;
=== Ecowitt HP10 ===&lt;br /&gt;
The file &#039;&#039;meteocamrealtime.txt&#039;&#039; is filled by CMX with the image URL as supplied by Ecowitt and transferred to the server and checked by CUtils. If the URL is different from the previous one the image is fetched and displayed. Note that the frequency by which the HP 10 fetches a new image is configured in the camera. CMX caches the URL and gives one up every 5 minutes even if you did configure the image renewal every fifteen minutes. This is a trade off because the frequency is not published.&lt;br /&gt;
&lt;br /&gt;
== Limitation ==&lt;br /&gt;
=== Manual ===&lt;br /&gt;
The server has to not be actively blocking the javascript from viewing the directory. In other words, the server hasn&#039;t turned indexing off, and the directory doesn&#039;t have an index.html or equivalent to rewrite any attempt to index, and the server isn&#039;t doing some url-rewriting. In other words, this should work in any server environment that doesn&#039;t rewrite or block indexes.&lt;br /&gt;
&lt;br /&gt;
=== Ecowitt HP10 ===&lt;br /&gt;
No limitations.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=MeteoCam&amp;diff=12323</id>
		<title>MeteoCam</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=MeteoCam&amp;diff=12323"/>
		<updated>2026-01-11T18:38:56Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
As a special feature CumulusUtils - from 5.6.0 - also supports a webcam in basic form (&#039;&#039;CamType=Manual&#039;&#039;) and the Ecowitt HP10 camera (&#039;&#039;CamType=EcowittHP10&#039;&#039;).&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A text overlay can be created showing the weather parameters Temperature, Humidity, Pressure, Rain, Wwind&lt;br /&gt;
&lt;br /&gt;
The values for T, P, H, R, W are visible in textual overlay on the image. Config for alignment, left/right position, border position and colour in the parameter section &#039;&#039;[MeteoCam]&#039;&#039;. In addition:&lt;br /&gt;
&lt;br /&gt;
#A parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
#When the timelapse is played, no overlay is shown.&lt;br /&gt;
&lt;br /&gt;
=== Manual ===&lt;br /&gt;
The user can specify an image basename for the cam image (on the server where the Cutils site is located) which will be displayed in the &#039;&#039;ReportView&#039;&#039; and refreshed every refresh period (of the realtime data). It is the users responsibility to configure the cam and the tools to get the image on the server. &lt;br /&gt;
&lt;br /&gt;
Also timelapse video&#039;s are supported. The user can select either the meteo cam image view or the timeelapse video view through radio buttons. The timelapse video can be selected through a drop down selector. It is the users responsibility to configure the timelapse videos and have them available on the server. &lt;br /&gt;
&lt;br /&gt;
In future and on request some additional functionalities may/will be added like multiple cam selection, a live stream (if you have one).&lt;br /&gt;
&lt;br /&gt;
=== Ecowitt HP10 ===&lt;br /&gt;
If the user specifies this type he only has to configure the file &#039;&#039;utils/meteocamrealtime.txt&#039;&#039; (generated by &#039;&#039;CUtils&#039;&#039;) through &#039;&#039;Extra Webfiles&#039;&#039; in CMX. The module then displays the image from the camera and refreshes it at the frequency the user has configured in the camera. Timelapses are not supported because Ecowitt does not gives only yesterdays URL through the software.&lt;br /&gt;
&lt;br /&gt;
== Inifile parameters ==&lt;br /&gt;
  [MeteoCam]&lt;br /&gt;
  MeteoCamMenu=true                ; When false no &#039;&#039;MeteoCam&#039;&#039; menu item will be displayed, the &#039;&#039;MeteoCam&#039;&#039; is not available&lt;br /&gt;
  MeteoCamDir=.                    ; The actual directory where the meteocam files can be found. If empty the webroot is used&lt;br /&gt;
  MeteoCamName=meteocam.jpg        ; the name of &#039;&#039;meteocam&#039;&#039; image. Any image type which can be displayed in the browser will do. e.g. &#039;&#039;meteocam.jpg&#039;&#039;&lt;br /&gt;
  TimelapseExtension=mp4           ; the extension used. Possible values: &#039;&#039;mp4&#039;&#039; (default), &#039;&#039;webm&#039;&#039; and &#039;&#039;ogg&#039;&#039;&lt;br /&gt;
  CamType                          ; either &#039;&#039;Manual&#039;&#039; (default) or &#039;&#039;EcowittHP10&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The shown values for &#039;&#039;Dir&#039;&#039; and &#039;&#039;Name&#039;&#039; are the defaults.&lt;br /&gt;
Only &#039;&#039;CamType&#039;&#039; is used by both Types, the other parameters are only used by &#039;&#039;CamType&#039;&#039; &#039;&#039;Manual&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Inner Working ==&lt;br /&gt;
=== Manual ===&lt;br /&gt;
Each realtime refresh time the meteocam image is reloaded. It is advised not to set a too high frequency. One second e.g. is too high. 30 seconds should be OK.&lt;br /&gt;
The refresh is done while bypassing the cache so a reload always actually takes place physically.&lt;br /&gt;
&lt;br /&gt;
For the timelapse videos, when starting up, all available videos with the configured extension are fetched and displayed in the drop down list. The user can select any and when activating the timelapse through the radio button that video starts playing immediately. The default HTML5 video viewer is used which means only &#039;&#039;mp4&#039;&#039;, &#039;&#039;webm&#039;&#039; and &#039;&#039;ogg&#039;&#039; are allowed.&lt;br /&gt;
&lt;br /&gt;
=== Ecowitt HP10 ===&lt;br /&gt;
The file &#039;&#039;meteocamrealtime.txt&#039;&#039; is filled by CMX with the image URL as supplied by Ecowitt and transferred to the server and checked by CUtils. If the URL is different from the previous one the image is fetched and displayed. Note that the frequency by which the HP 10 fetches a new image is configured in the camera. CMX caches the URL and gives one up every 5 minutes even if you did configure the image renewal every fifteen minutes. This is a trade off because the frequency is not published.&lt;br /&gt;
&lt;br /&gt;
== Limitation ==&lt;br /&gt;
=== Manual ===&lt;br /&gt;
The server has to not be actively blocking the javascript from viewing the directory. In other words, the server hasn&#039;t turned indexing off, and the directory doesn&#039;t have an index.html or equivalent to rewrite any attempt to index, and the server isn&#039;t doing some url-rewriting. In other words, this should work in any server environment that doesn&#039;t rewrite or block indexes.&lt;br /&gt;
&lt;br /&gt;
=== Ecowitt HP10 ===&lt;br /&gt;
No limitations.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=MeteoCam&amp;diff=12322</id>
		<title>MeteoCam</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=MeteoCam&amp;diff=12322"/>
		<updated>2026-01-11T18:34:38Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
As a special feature CumulusUtils - from 5.6.0 - also supports a webcam in basic form (&#039;&#039;CamType=Manual&#039;&#039;) and the Ecowitt HP10 camera (&#039;&#039;CamType=EcowittHP10&#039;&#039;).&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A text overlay can be created showing the weather parameters Temperature, Humidity, Pressure, Rain, Wwind&lt;br /&gt;
&lt;br /&gt;
The values for T, P, H, R, W are visible in textual overlay on the image. Config for alignment, left/right position, border position and colour in the parameter section &#039;&#039;[MeteoCam]&#039;&#039;. In addition:&lt;br /&gt;
##a parameter &#039;&#039;WantToSeeLines&#039;&#039; in section &#039;&#039;MeteoCam&#039;&#039; can have the contents &#039;&#039;WTPHR&#039;&#039; for the obvious lines &#039;&#039;Wind, Temperature, Pressure, Humidity and Rain&#039;&#039;. Any letter removed, removes that line from the overlay. So &amp;quot;W&amp;quot; only shows the wind, &amp;quot;WT&amp;quot; Wind and Temperature etc...&lt;br /&gt;
##When the timelapse is played, no overlay is shown.&lt;br /&gt;
&lt;br /&gt;
=== Manual ===&lt;br /&gt;
The user can specify an image basename for the cam image (on the server where the Cutils site is located) which will be displayed in the &#039;&#039;ReportView&#039;&#039; and refreshed every refresh period (of the realtime data). It is the users responsibility to configure the cam and the tools to get the image on the server. &lt;br /&gt;
&lt;br /&gt;
Also timelapse video&#039;s are supported. The user can select either the meteo cam image view or the timeelapse video view through radio buttons. The timelapse video can be selected through a drop down selector. It is the users responsibility to configure the timelapse videos and have them available on the server. &lt;br /&gt;
&lt;br /&gt;
In future and on request some additional functionalities may/will be added like multiple cam selection, a live stream (if you have one).&lt;br /&gt;
&lt;br /&gt;
=== Ecowitt HP10 ===&lt;br /&gt;
If the user specifies this type he only has to configure the file &#039;&#039;utils/meteocamrealtime.txt&#039;&#039; (generated by &#039;&#039;CUtils&#039;&#039;) through &#039;&#039;Extra Webfiles&#039;&#039; in CMX. The module then displays the image from the camera and refreshes it at the frequency the user has configured in the camera. Timelapses are not supported because Ecowitt does not gives only yesterdays URL through the software.&lt;br /&gt;
&lt;br /&gt;
== Inifile parameters ==&lt;br /&gt;
  [MeteoCam]&lt;br /&gt;
  MeteoCamMenu=true                ; When false no &#039;&#039;MeteoCam&#039;&#039; menu item will be displayed, the &#039;&#039;MeteoCam&#039;&#039; is not available&lt;br /&gt;
  MeteoCamDir=.                    ; The actual directory where the meteocam files can be found. If empty the webroot is used&lt;br /&gt;
  MeteoCamName=meteocam.jpg        ; the name of &#039;&#039;meteocam&#039;&#039; image. Any image type which can be displayed in the browser will do. e.g. &#039;&#039;meteocam.jpg&#039;&#039;&lt;br /&gt;
  TimelapseExtension=mp4           ; the extension used. Possible values: &#039;&#039;mp4&#039;&#039; (default), &#039;&#039;webm&#039;&#039; and &#039;&#039;ogg&#039;&#039;&lt;br /&gt;
  CamType                          ; either &#039;&#039;Manual&#039;&#039; (default) or &#039;&#039;EcowittHP10&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The shown values for &#039;&#039;Dir&#039;&#039; and &#039;&#039;Name&#039;&#039; are the defaults.&lt;br /&gt;
Only &#039;&#039;CamType&#039;&#039; is used by both Types, the other parameters are only used by &#039;&#039;CamType&#039;&#039; &#039;&#039;Manual&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Inner Working ==&lt;br /&gt;
=== Manual ===&lt;br /&gt;
Each realtime refresh time the meteocam image is reloaded. It is advised not to set a too high frequency. One second e.g. is too high. 30 seconds should be OK.&lt;br /&gt;
The refresh is done while bypassing the cache so a reload always actually takes place physically.&lt;br /&gt;
&lt;br /&gt;
For the timelapse videos, when starting up, all available videos with the configured extension are fetched and displayed in the drop down list. The user can select any and when activating the timelapse through the radio button that video starts playing immediately. The default HTML5 video viewer is used which means only &#039;&#039;mp4&#039;&#039;, &#039;&#039;webm&#039;&#039; and &#039;&#039;ogg&#039;&#039; are allowed.&lt;br /&gt;
&lt;br /&gt;
=== Ecowitt HP10 ===&lt;br /&gt;
The file &#039;&#039;meteocamrealtime.txt&#039;&#039; is filled by CMX with the image URL as supplied by Ecowitt and transferred to the server and checked by CUtils. If the URL is different from the previous one the image is fetched and displayed. Note that the frequency by which the HP 10 fetches a new image is configured in the camera. CMX caches the URL and gives one up every 5 minutes even if you did configure the image renewal every fifteen minutes. This is a trade off because the frequency is not published.&lt;br /&gt;
&lt;br /&gt;
== Limitation ==&lt;br /&gt;
=== Manual ===&lt;br /&gt;
The server has to not be actively blocking the javascript from viewing the directory. In other words, the server hasn&#039;t turned indexing off, and the directory doesn&#039;t have an index.html or equivalent to rewrite any attempt to index, and the server isn&#039;t doing some url-rewriting. In other words, this should work in any server environment that doesn&#039;t rewrite or block indexes.&lt;br /&gt;
&lt;br /&gt;
=== Ecowitt HP10 ===&lt;br /&gt;
No limitations.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=MeteoCam&amp;diff=12321</id>
		<title>MeteoCam</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=MeteoCam&amp;diff=12321"/>
		<updated>2026-01-11T18:29:34Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Ecowitt HP10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
As a special feature CumulusUtils - from 5.6.0 - also supports a webcam in basic form (&#039;&#039;CamType=Manual&#039;&#039;) and the Ecowitt HP10 camera (&#039;&#039;CamType=EcowittHP10&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
=== Manual ===&lt;br /&gt;
The user can specify an image basename for the cam image (on the server where the Cutils site is located) which will be displayed in the &#039;&#039;ReportView&#039;&#039; and refreshed every refresh period (of the realtime data). It is the users responsibility to configure the cam and the tools to get the image on the server. &lt;br /&gt;
&lt;br /&gt;
Also timelapse video&#039;s are supported. The user can select either the meteo cam image view or the timeelapse video view through radio buttons. The timelapse video can be selected through a drop down selector. It is the users responsibility to configure the timelapse videos and have them available on the server. &lt;br /&gt;
&lt;br /&gt;
In future and on request some additional functionalities may/will be added like multiple cam selection, a live stream (if you have one).&lt;br /&gt;
&lt;br /&gt;
=== Ecowitt HP10 ===&lt;br /&gt;
If the user specifies this type he only has to configure the file &#039;&#039;utils/meteocamrealtime.txt&#039;&#039; (generated by &#039;&#039;CUtils&#039;&#039;) through &#039;&#039;Extra Webfiles&#039;&#039; in CMX. The module then displays the image from the camera and refreshes it at the frequency the user has configured in the camera. Timelapses are not supported because Ecowitt does not gives only yesterdays URL through the software.&lt;br /&gt;
&lt;br /&gt;
== Inifile parameters ==&lt;br /&gt;
  [MeteoCam]&lt;br /&gt;
  MeteoCamMenu=true                ; When false no &#039;&#039;MeteoCam&#039;&#039; menu item will be displayed, the &#039;&#039;MeteoCam&#039;&#039; is not available&lt;br /&gt;
  MeteoCamDir=.                    ; The actual directory where the meteocam files can be found. If empty the webroot is used&lt;br /&gt;
  MeteoCamName=meteocam.jpg        ; the name of &#039;&#039;meteocam&#039;&#039; image. Any image type which can be displayed in the browser will do. e.g. &#039;&#039;meteocam.jpg&#039;&#039;&lt;br /&gt;
  TimelapseExtension=mp4           ; the extension used. Possible values: &#039;&#039;mp4&#039;&#039; (default), &#039;&#039;webm&#039;&#039; and &#039;&#039;ogg&#039;&#039;&lt;br /&gt;
  CamType                          ; either &#039;&#039;Manual&#039;&#039; (default) or &#039;&#039;EcowittHP10&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The shown values for &#039;&#039;Dir&#039;&#039; and &#039;&#039;Name&#039;&#039; are the defaults.&lt;br /&gt;
Only &#039;&#039;CamType&#039;&#039; is used by both Types, the other parameters are only used by &#039;&#039;CamType&#039;&#039; &#039;&#039;Manual&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Inner Working ==&lt;br /&gt;
=== Manual ===&lt;br /&gt;
Each realtime refresh time the meteocam image is reloaded. It is advised not to set a too high frequency. One second e.g. is too high. 30 seconds should be OK.&lt;br /&gt;
The refresh is done while bypassing the cache so a reload always actually takes place physically.&lt;br /&gt;
&lt;br /&gt;
For the timelapse videos, when starting up, all available videos with the configured extension are fetched and displayed in the drop down list. The user can select any and when activating the timelapse through the radio button that video starts playing immediately. The default HTML5 video viewer is used which means only &#039;&#039;mp4&#039;&#039;, &#039;&#039;webm&#039;&#039; and &#039;&#039;ogg&#039;&#039; are allowed.&lt;br /&gt;
&lt;br /&gt;
=== Ecowitt HP10 ===&lt;br /&gt;
The file &#039;&#039;meteocamrealtime.txt&#039;&#039; is filled by CMX with the image URL as supplied by Ecowitt and transferred to the server and checked by CUtils. If the URL is different from the previous one the image is fetched and displayed. Note that the frequency by which the HP 10 fetches a new image is configured in the camera. CMX caches the URL and gives one up every 5 minutes even if you did configure the image renewal every fifteen minutes. This is a trade off because the frequency is not published.&lt;br /&gt;
&lt;br /&gt;
== Limitation ==&lt;br /&gt;
=== Manual ===&lt;br /&gt;
The server has to not be actively blocking the javascript from viewing the directory. In other words, the server hasn&#039;t turned indexing off, and the directory doesn&#039;t have an index.html or equivalent to rewrite any attempt to index, and the server isn&#039;t doing some url-rewriting. In other words, this should work in any server environment that doesn&#039;t rewrite or block indexes.&lt;br /&gt;
&lt;br /&gt;
=== Ecowitt HP10 ===&lt;br /&gt;
No limitations.&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
	<entry>
		<id>https://www.cumuluswiki.org/index.php?title=Charts&amp;diff=12320</id>
		<title>Charts</title>
		<link rel="alternate" type="text/html" href="https://www.cumuluswiki.org/index.php?title=Charts&amp;diff=12320"/>
		<updated>2026-01-11T18:23:40Z</updated>

		<summary type="html">&lt;p&gt;HansR: /* Inifile parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
{|align=right&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
One of the most important modules of &#039;&#039;CumulusUtils&#039;&#039; is the charting module as it gives insight in your weather data. A picture says more than a thousand words. The charting is subdivided in five sections: [[Charts - Rain charts|Rain charts]], [[Charts - Temperature charts|Temperature charts]], [[Charts - Solar charts|Solar charts]] and [[Charts - Wind charts|Wind charts]]. [[Charts - Misc charts|Miscellaneous]] completes the charts.&lt;br /&gt;
&lt;br /&gt;
And if you run the Website Generator, the Home page shows the charts similar (almost equal) to the charts which default to the &#039;&#039;CumulusMX&#039;&#039; [[Highcharts_-_Recent|Recent Charts]]  page and &#039;&#039;CumulusMX&#039;&#039; Historic Charts page. From end of 2020 &#039;&#039;CumulusUtils&#039;&#039; begins to deviate in charting approach from &#039;&#039;CumulusMX&#039;&#039; with respect to those default charts.&lt;br /&gt;
&lt;br /&gt;
This page describes only the common features and requirements, the graphs themselves are discussed on their own page. Please note that [https://sciencing.com/the-best-stem-kits-to-get-your-kids-started-with-coding-13763826.html the words chart and graph] are used interchangably. Within CumulusUtils however in a stricter sense mostly graph is intended. &lt;br /&gt;
&lt;br /&gt;
The charts are created using [https://www.highcharts.com/ HighCharts] using their [https://shop.highsoft.com/highsoft/form/noncommercialform non-commercial license]. If you want to use the charts or the [[Website Generator]] of &#039;&#039;CumulusUtils&#039;&#039;, please make yourself acquainted with this license.&lt;br /&gt;
&lt;br /&gt;
== Operation ==&lt;br /&gt;
This module is included in the website. When needed as a single output the following command is given:&lt;br /&gt;
   utils/bin/cumulusutils.exe graphs&lt;br /&gt;
&lt;br /&gt;
The Home page charts of the website will be described there.&lt;br /&gt;
&lt;br /&gt;
== Output ==&lt;br /&gt;
The output consists of five files: &#039;&#039;graphstemp.txt&#039;&#039;, &#039;&#039;graphsrain.txt&#039;&#039;, &#039;&#039;graphswind.txt&#039;&#039;, &#039;&#039;graphssolar.txt&#039;&#039; and &#039;&#039;graphsmisc.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
These files contain, embedded in HTML code, both the menu code in javascript (each file has its own selection menu) and the Highcharts code in javascript for the charts and the data.&lt;br /&gt;
&lt;br /&gt;
== Inifile parameters ==&lt;br /&gt;
The charting module is second in place of modules with the most parameters (the Website Generator being first) and also require more explanation. Note that the charts on the Home page of the Website have their own explicit colour specifications. When useful  or required, these descriptions will be repeated on &lt;br /&gt;
&lt;br /&gt;
All parameters belong to the section [graphs]:&lt;br /&gt;
    [Graphs]&lt;br /&gt;
&lt;br /&gt;
All charts can be individually selected to be present or not. If the value of the following parameters is false the chart and its data will be generated to the output, but the menu choice will not be present so the  user can&#039;t select.&lt;br /&gt;
&lt;br /&gt;
Rain graphs:&lt;br /&gt;
    DailyRain=true&lt;br /&gt;
    MonthlyRain=true&lt;br /&gt;
    YearRainstats=true&lt;br /&gt;
    YearMonthRainstats=true&lt;br /&gt;
&lt;br /&gt;
Temperature charts:&lt;br /&gt;
    MonthlyTemp=true&lt;br /&gt;
    YearTempstats=true&lt;br /&gt;
    YearMonthTempstats=true&lt;br /&gt;
    WarmerDays=true&lt;br /&gt;
    HeatMap=true&lt;br /&gt;
&lt;br /&gt;
Wind charts:&lt;br /&gt;
    WindRose=true&lt;br /&gt;
    Windrun=true&lt;br /&gt;
&lt;br /&gt;
Solar charts:&lt;br /&gt;
    SolarHours=true&lt;br /&gt;
    SolarEnergy=true&lt;br /&gt;
    SolarHoursYearMonth=true&lt;br /&gt;
    SolarEnergyYearMonth=true&lt;br /&gt;
&lt;br /&gt;
Miscellaneous charts:&lt;br /&gt;
    TempSum=true&lt;br /&gt;
    GrowingDegreeDays=true&lt;br /&gt;
    Seasons=true              =&amp;gt; For the &#039;&#039;Thermal Seasons&#039;&#039; chart &lt;br /&gt;
    DailyEVT=true&lt;br /&gt;
    MonthlyEVT=true&lt;br /&gt;
    AverageClash=true&lt;br /&gt;
&lt;br /&gt;
Chart parameters:&lt;br /&gt;
    UseHighchartsBoostModule=true | false&lt;br /&gt;
    UseNormalTempReference=both | Normal | StationAverage    (default = Normal)&lt;br /&gt;
    UseNormalRainReference=both | Normal | StationAverage    (default = Normal)&lt;br /&gt;
    MaxNrOfSeriesVisibileInGraph=3                           (default = 2)&lt;br /&gt;
    PeriodMovingAverage=365                                  (default = 365, If it has a larger value it is corrected to 365 or 366 if a leap year.)&lt;br /&gt;
    WindRoseNrOfWindforceClasses=6                           (default = 6)&lt;br /&gt;
    WindRoseMaxWindSpeed=60                                  (default = 60)&lt;br /&gt;
    WindRoseInversed=false | true                            (default = false)&lt;br /&gt;
    WindrunClassWidth=75                                     (default = 75)&lt;br /&gt;
    HeatmapNumberOfYearsPerPage=10                           (default = 10)&lt;br /&gt;
    GrowingDegreeDaysReferenceTemp=5                         (default = 5)&lt;br /&gt;
    WinterToSpringTemperatureLimit=0                         (default = 0)&lt;br /&gt;
    SpringToSummerTemperatureLimit=10                        (default =10)&lt;br /&gt;
&lt;br /&gt;
Map Colour parameters (see [[Charts behaviour]])&lt;br /&gt;
    GraphColors=&lt;br /&gt;
    ;GraphColors=[&#039;#058DC7&#039;, &#039;#50B432&#039;, &#039;#ED561B&#039;, &#039;#DDDF00&#039;, &#039;#24CBE5&#039;, &#039;#64E572&#039;, &#039;#FF9655&#039;, &#039;#FFF263&#039;, &#039;#6AF9C4&#039;]&lt;br /&gt;
    WindRoseColors=&lt;br /&gt;
    ;WindRoseColors=[&#039;lightgrey&#039;, &#039;green&#039;, &#039;blue&#039;, &#039;yellow&#039;, &#039;orange&#039;, &#039;red&#039;, &#039;deeppink&#039;, &#039;purple&#039;, &#039;black&#039;]&lt;br /&gt;
&lt;br /&gt;
== Inner working ==&lt;br /&gt;
=== Algorithmic ===&lt;br /&gt;
The output files are HTML UTF8 format. All javascript is included in &amp;lt;script&amp;gt; tags so these are not pure javascript libraries. For each output file the javascript menu is written. &lt;br /&gt;
When finished the Highcharts lib include specifications are written IF the modules are not meant to be used in the &#039;&#039;CumulusUtils&#039;&#039; [[Website Generator]] which has the specifications by itself. &lt;br /&gt;
&lt;br /&gt;
When menu and includes are ready, all required graphs are generated together with their data. Code generation and data selection is a one pass process.&lt;br /&gt;
&lt;br /&gt;
=== Defaults, Colours and Language ===&lt;br /&gt;
==== Defaults ====&lt;br /&gt;
Defaults are taken from the Highcharts theme which is current. See the page for the [[HighCharts themes|HighCharts theme]].&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One special feature for all charts in CumulusUtils is the possibility for the background image. This is described in [[Website_Generator#Chart_Background_Images|the chapter on the website]]&lt;br /&gt;
&lt;br /&gt;
==== Colours ====&lt;br /&gt;
NOTE: the colours of the lines in the [[Website Generator]] Home page have their own specification, see the [[Website Generator]] and [[ChartsCompiler]].&lt;br /&gt;
&lt;br /&gt;
A very important thing with the graphs is the &#039;&#039;&#039;Colour&#039;&#039;&#039; selection. For some charts, users can specify colours in multiples ways for other charts no specification is possible. In general for line charts, the user can choose the colour per line, for specific charts like the heatmap no choice is possible. See each chart description for the specification. If any colour specification in reality is not according to this specification, please report as a bug (either in documentation of in software)&lt;br /&gt;
&lt;br /&gt;
Where applicable, use is made of the Highcharts colour specification.&lt;br /&gt;
&lt;br /&gt;
#A set of default colours can be specified in the parameter section. For the WindRose a specific selection can be specified.&lt;br /&gt;
#When the selection possibility set to empty a fallback is made to the [[HighCharts themes|HighCharts theme]] in use.&lt;br /&gt;
#When no colours are specified in the theme, then the user relies on the implicit Highcharts defaults.&lt;br /&gt;
&lt;br /&gt;
==== Language ====&lt;br /&gt;
For the &#039;&#039;&#039;Language&#039;&#039;&#039; in the charts the user must make a distinction between the texts &#039;&#039;CumulusUtils&#039;&#039; generates for titles, series names and tooltips. Those texts are found in the [[Language_in_CumulusUtils|CUstringsXX.txt file]] and have to be translated by the user. For Locale specific and ruled translations (like weekdays, months etc...) &#039;&#039;CumulusUtils&#039;&#039; generates a file called &#039;&#039;HighchartsLanguage.js&#039;&#039; in which names of days, months and abbreviated month names are translated conform the Locale the user specifies. These are set as options to Highcharts and thus will always be in the local language. &lt;br /&gt;
&lt;br /&gt;
This file may also be used for other Locale specific attributes like separators, if so, it will be specified here.&lt;br /&gt;
&lt;br /&gt;
=== How the parameters work ===&lt;br /&gt;
There is only a limited number of parameters which influence the behaviour and display of the graph. Those parameters are described below:&lt;br /&gt;
==== UseHighchartsBoostModule ====&lt;br /&gt;
For some charts like the scatter (Wind direction) and the heatmap, Highcharts makes use of a boost technique (library: https://code.highcharts.com/modules/boost.js). However this does  not work on some browsers on some older graphic cards. If you do not see the chart, please set this parameter to false. It may slow down the drawing of the chart, but you will see it.&lt;br /&gt;
&lt;br /&gt;
==== UseNormalTempReference ==== &lt;br /&gt;
This parameter has effect on the &#039;&#039;Monthly Temperature&#039;&#039; chart.&lt;br /&gt;
&lt;br /&gt;
CumulusMX has the possibility to refer to the normal values valid for the location of the weather station. The user has to fill those in the CumulusMX inifile parameter section [NOAA] in the parameters &#039;&#039;NOAATempNormJan&#039;&#039; and &#039;&#039;NOAARainNormJan&#039;&#039; (for all months). When filled in those values appear in the &#039;&#039;Monthly Rain&#039;&#039; and &#039;&#039;Monthly Temperature&#039;&#039; graphs. If they are not specified the value -1000 is shown which heavily debalances the chart.&lt;br /&gt;
&lt;br /&gt;
When Normal values are not available, the user may choose to display &#039;&#039;StationAverage&#039;&#039; for those charts. StationAverage also displays the unbiased estimator of the variance (standard deviation) around the average of the observations. &lt;br /&gt;
&lt;br /&gt;
When setting the parameter to both the obvious thing happens: both the Normal and the StationAverage are displayed along with the actual observations.&lt;br /&gt;
&lt;br /&gt;
==== UseNormalRainReference====&lt;br /&gt;
This parameter has effect on the &#039;&#039;Daily rain&#039;&#039; chart and the &#039;&#039;Monthly Rain&#039;&#039; chart.&lt;br /&gt;
&lt;br /&gt;
The functional behaviour of this parameter is similar to the above.&lt;br /&gt;
&lt;br /&gt;
In addition, this parameter determines the presence of the reference lines for the &#039;&#039;Normal Total Rainfall&#039;&#039; and/or the &#039;&#039;Station Average Rainfall&#039;&#039; as shown in the &#039;&#039;Daily Rain&#039;&#039; chart.&lt;br /&gt;
&lt;br /&gt;
==== MaxNrOfSeriesVisibileInGraph ====&lt;br /&gt;
This parameter has effect in both &#039;&#039;Monthly Temperature&#039;&#039;, &#039;&#039;Monthly Rain&#039;&#039; and the &#039;&#039;Agri Charts&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
A high number of series shown can severely clutter the chart. Therefore the user can limit the number of lines initially made visible.&lt;br /&gt;
When the chart is on screen, the  user can click on the legend to show additional charts.&lt;br /&gt;
&lt;br /&gt;
==== PeriodMovingAverage ====&lt;br /&gt;
This parameter has effect on the &#039;&#039;Daily Rain&#039;&#039; chart and the &#039;&#039;Daily EVT&#039;&#039; chart. &lt;br /&gt;
&lt;br /&gt;
The running average as shown in the &#039;&#039;Daily Rain&#039;&#039; and &#039;&#039;Daily EVT&#039;&#039; charts, shows a [https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average_(boxcar_filter) Simple Moving Average]. The period of that moving average - or the number of days in the current value of the moving average - can be set through this parameter.&lt;br /&gt;
&lt;br /&gt;
==== WindRoseNrOfWindforceClasses &amp;amp; WindRoseMaxWindSpeed ====&lt;br /&gt;
These parameters have effect on the &#039;&#039;Wind Rose&#039;&#039; chart.&lt;br /&gt;
&lt;br /&gt;
Because wind differs highly with location and above all also with unit used it is necessary to make a meaningful division of the legend.&lt;br /&gt;
The WindRoseMaxWindSpeed gives the highest wind speed class. All higher wind speed will be counted as higher the and will not be subdivided.&lt;br /&gt;
The WindRoseNrOfWindforceClasses gives the number of classes where the winds lower than WindRoseMaxWindSpeed will be subdivided. So if the max wind speed is 60 km/h and the number of classes is 6 you get a class width of 10 km/h. But if you use the same numbers for m/s or mph you get completely different graphs. So it is the unit and the local conditions which determine the numbers you have to use. &lt;br /&gt;
&lt;br /&gt;
A wind silence (Calm, 0 km/h) is an always present class and thus not counted in the calculation as above.&lt;br /&gt;
&lt;br /&gt;
==== WindRoseInversed====&lt;br /&gt;
This parameter has effect on the &#039;&#039;Wind Rose&#039;&#039; chart.&lt;br /&gt;
&lt;br /&gt;
This parameter determines the order of the legend and the stacking of the values in the rose from inside to outside or the other way around.&lt;br /&gt;
&lt;br /&gt;
==== WindrunClassWidth ====&lt;br /&gt;
This parameter has effect on the &#039;&#039;Windrun&#039;&#039; chart.&lt;br /&gt;
&lt;br /&gt;
With the same arguments as with the WindRose chart, the Windrun chart requires some configuration because of unit and local situation. To give the chart meaning a class width which shows but not clutters is best. It is also personal taste which counts.&lt;br /&gt;
&lt;br /&gt;
==== HeatmapNumberOfYearsPerPage ====&lt;br /&gt;
This parameter has effect on the &#039;&#039;Heatmap&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The heatmap does get a bit compressed when the series get longer. If more than ten years are available the years are split up in pages and buttons appear to switch between pages or display all data. This has to do with taste. There is also the button &#039;&#039;All&#039;&#039; which gives the user the possibility to undo the split.&lt;br /&gt;
&lt;br /&gt;
==== GrowingDegreeDaysReferenceTemp ====&lt;br /&gt;
This parameter contains the reference temperature for the chart Growing Degree Days and represents the heuristic temperature at which plants come out of their winter rest. In principle the chart &#039;&#039;Temperature Sum&#039;&#039; has a non modifiable &#039;&#039;reference temperature&#039;&#039; of 0.&lt;br /&gt;
&lt;br /&gt;
==== WinterToSpringTemperatureLimit ====&lt;br /&gt;
With a default of zero degrees Celsius this parameter defines the thermal boundary between winter and spring. &lt;br /&gt;
If 10 successive days have an average temperature above 0 °C then Spring is declared. The same boundary works the other way around to declare transition from autumn to winter.&lt;br /&gt;
&lt;br /&gt;
==== SpringToSummerTemperatureLimit ====&lt;br /&gt;
With a default of 10 °C this parameter defines the thermal boundary between spring and summer. &lt;br /&gt;
If 10 successive days have an average temperature above 10 °C then Summer is declared. The same boundary works the other way around to declare transition from summer to autumn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:CumulusUtils]]&lt;/div&gt;</summary>
		<author><name>HansR</name></author>
	</entry>
</feed>