<?xml version="1.0" encoding="UTF-8"?>
<update appID="GroLab">

	<version>1.0.2.12</version>
	
	<files>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/EntityFramework.dll</fileURL>
			<fileName>EntityFramework.dll</fileName>
			<md5>00D48A062EF3DFFBA05159D019CF427D</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/GroLab.exe</fileURL>
			<fileName>GroLab.exe</fileName>
			<md5>101A5DD01C2EF8AAC64C8D38F213CE5F</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/ICSharpCode.SharpZipLib.dll</fileURL>
			<fileName>ICSharpCode.SharpZipLib.dll</fileName>
			<md5>C8164876B6F66616D68387443621510C</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/Newtonsoft.Json.dll</fileURL>
			<fileName>Newtonsoft.Json.dll</fileName>
			<md5>486015A44A273C6C554A27B3D498365C</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/Newtonsoft.Json.xml</fileURL>
			<fileName>Newtonsoft.Json.xml</fileName>
			<md5>62315B9D12AC3E846C9CE671167B14B0</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/NPOI.dll</fileURL>
			<fileName>NPOI.dll</fileName>
			<md5>A7B60CA36BDE9264845DCD3CF5FF6AD3</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/System.Data.SQLite.dll</fileURL>
			<fileName>System.Data.SQLite.dll</fileName>
			<md5>19920A99BDA2E286ADAF3DC2DA388C12</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/System.Data.SQLite.EF6.dll</fileURL>
			<fileName>System.Data.SQLite.EF6.dll</fileName>
			<md5>1266EBE244B4D2CB578F84194D890E2C</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/System.Data.SQLite.Linq.dll</fileURL>
			<fileName>System.Data.SQLite.Linq.dll</fileName>
			<md5>155A5C3135D5A1CCC8EE643F394AE22D</md5>
		</file>
		
		
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/languages/english_language.txt</fileURL>
			<fileName>Languages\english_language.txt</fileName>
			<md5>AF53D677696F8CC49DE9E752A17068D6</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/languages/french_language.txt</fileURL>
			<fileName>Languages\french_language.txt</fileName>
			<md5>305C9420402E3D0CF597B771977F281D</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/languages/indonesian_language.txt</fileURL>
			<fileName>Languages\indonesian_language.txt</fileName>
			<md5>BDE6A595810A1DCEC74E6AE42B11ADB6</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/languages/portuguese_language.txt</fileURL>
			<fileName>Languages\portuguese_language.txt</fileName>
			<md5>7FCD0ED446AE9710AD8EE1F04F3BCC90</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/languages/spanish_language.txt</fileURL>
			<fileName>Languages\spanish_language.txt</fileName>
			<md5>E2A8303B9FE1AC9822A01BC43377DD36</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/languages/turkish_language.txt</fileURL>
			<fileName>Languages\turkish_language.txt</fileName>
			<md5>034632BF112E92279D6323E65C5BCA86</md5>
		</file>
		
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/x64/SQLite.Interop.dll</fileURL>
			<fileName>x64\SQLite.Interop.dll</fileName>
			<md5>3D34A5AFAF1A490152725C8DC2F6BD49</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/x86/SQLite.Interop.dll</fileURL>
			<fileName>x86\SQLite.Interop.dll</fileName>
			<md5>D4F7B56D927689B6D5D88C26A093EDA7</md5>
		</file>
		
		
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/avr/avrdude.exe</fileURL>
			<fileName>Avr\avrdude.exe</fileName>
			<md5>8939D8900B52EDFCDF64D86F8059DDC1</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/avr/avrdude.conf</fileURL>
			<fileName>Avr\avrdude.conf</fileName>
			<md5>1CE732C3BC17F0A7359988D4184D8E4C</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/avr/cygwin1.dll</fileURL>
			<fileName>Avr\cygwin1.dll</fileName>
			<md5>AF9801D354C3AED2A14034D7DA2A949C</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/avr/libusb0.dll</fileURL>
			<fileName>Avr\libusb0.dll</fileName>
			<md5>535779909A40B42F4F3E48598F5778A5</md5>
		</file>
		
	
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/firmware/GroNodeFirmware_H006_1.0.7.1.hex</fileURL>
			<fileName>Firmware\GroNodeFirmware_H006_1.0.7.1.hex</fileName>
			<md5>1F0780E9A926F00076A7D8B7D5FF58B4</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/firmware/GroNodeFirmware_H007_1.0.7.1.hex</fileURL>
			<fileName>Firmware\GroNodeFirmware_H007_1.0.7.1.hex</fileName>
			<md5>A41CAB4F7B4220ED9F54F35D2E49D229</md5>
		</file>


		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/firmware/PowerBotFirmware_H007_1.7.0.16.hex</fileURL>
			<fileName>Firmware\PowerBotFirmware_H007_1.7.0.16.hex</fileName>
			<md5>8AACC03083E3F0CE1EFF187887D342DC</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/firmware/PowerBotFirmware_H008_1.8.0.16.hex</fileURL>
			<fileName>Firmware\PowerBotFirmware_H008_1.8.0.16.hex</fileName>
			<md5>BC53B30CFB04A29BEE738DFD50B48611</md5>
		</file>

		
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/firmware/SoilBotFirmware_H003_1.3.0.13.hex</fileURL>
			<fileName>Firmware\SoilBotFirmware_H003_1.3.0.13.hex</fileName>
			<md5>099B32154C6F2587DA3466BD46BF9539</md5>
		</file>
		
		
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/firmware/TankBotFirmware_H010_1.10.0.14.hex</fileURL>
			<fileName>Firmware\TankBotFirmware_H010_1.10.0.14.hex</fileName>
			<md5>A4EB88493DDDE3CF51C5D1B2951C8F00</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/firmware/TankBotFirmware_H011_1.11.0.14.hex</fileURL>
			<fileName>Firmware\TankBotFirmware_H011_1.11.0.14.hex</fileName>
			<md5>CC8010D2B0F2DFA1FB28EB6AB4164724</md5>
		</file>
		<file>
			<fileURL>http://grolabupdate.opengrow.pt/software/firmware/TankBotFirmware_H020_1.20.0.14.hex</fileURL>
			<fileName>Firmware\TankBotFirmware_H020_1.20.0.14.hex</fileName>
			<md5>A5323B4AA314F6C503B1E8398BC636A1</md5>
		</file>
	</files>
	
	<filesToDelete>
		<file>
			<fileName>GroLabUpdater.dll</fileName>
		</file>
	</filesToDelete>
	
	<description>
v1.0.2.12 (2021-12-15):
    - Added the Indonesian language (Bahasa);
    - Added different messages to error cases (UnauthorizedAccess and FileInUsage) when exporting data-logs to files (excel);
    - Added a speed counter (KB/S) for the GroNode upgrade firmware;
    - Added support to new TankBot and PowerBot hardware versions;
    - Added support to GroNode firmware versions 1.0.7.x;
    - Added more internal logs;
    - Added a new method to validate if the GroNode IP is inside the same local network as the device running the GroLab Software;

    - Updated several libraries;
    - Updated some GroNode status;
    - Updated languages;
	
    - Removed some unnecessary tray notifications;

    - Fixed bug that caused the export datalog to excel file to stay forever in the loading;
    - Fixed not being able to create similar alarms with different custom times for execution;
    - Fixed not running the similarity test when editing the Alarm's active time;
    - Fixed a rare bug that could cause to use of an incorrect IP address for GroNode;

    - Improved visuals for the module security settings text;
    - Improved the support for the new CO2 Combined Sensor and new PowerBots in general;
    - Improved erase module settings;
    - Improved import/export module's settings;
    - Improved the Alarm check for reverse configurations when using custom time alarms;
    - Improved the Alarm similarity test;
    - Improved CPU usage;
    - Improved integration with new Windows OS versions/updates;

    - Other minor changes;

v1.0.2.11 (2020-04-17):
    - Added module status LED settings (now it's possible to turn off the module status LED);
    - Added new supported sensors (Pressure and Other Measurement Sensor);
    - Added support to CO2, Pressure and Other Sensor types to the UserBot;
    - Added speed configuration to UserBot devices (Peristaltic Pumps, LEDs, Other Output, Water Pump, Ventilation In/Out, Ventilator...);
    - Added the e-mail authentication status to also be taken into consideration when setting the e-mail status icon on the GroNode settings;
    - Added Import/Export settings feature to the UserBot (also available in Demo Mode);
    - Added new PowerBot mini icons (now they are coherent with the new hardware versions);
    - (DEMO MODE) Added the new sensor types to the UserBot so users can try them;
    - Updated UserBot panel visuals and mini-icons;
    - Updated visuals for 'Other Sensor' type, as well as its name, now it's called 'Other Switch Sensor';
    - Updated visuals for battery sensor type;
    - Updated sensors panel from IO type selection to also support vertical scroll;
    - Updated area/grow extras restrictions to also support battery state inputs;
    - Updated languages;
    - (DEMO MODE) Updated to ensure all the latest features are available in demo mode;
    - (DEMO MODE) Updated module security settings to allow it in Demo Mode;
    - Changed the warning message when upgrading GroNode firmware and it's required to format memory;
    - Changed the size of the UserBot inputs value labels to fully display the values and units (CO2 with 4 digits wasn't showing 'ppm');
    - Changed the schedule name font (at schedules panel) to bold to be coherent with the alarms visuals;
    - Changed the device's speed range on UserBot to 4-255;
    - Changed the speed and cool-down features restriction on UserBot, now it's required to have UserBot firmware version equal or higher than 1.1.0.11 and GroNode firmware version equal or higher than 1.0.6.11;
    - Changed the PowerBot image on modules firmware troubleshoot to be coherent with hardware version;
    - (DEMO MODE) Changed the GroNode firmware/hardware label to display 'DEMO MODE';
    - Removed horizontal scroll-ball from the UserBot IO's panels;
    - Fixed not updating area night/day duration after editing area using the regular day/night;
    - Fixed being able to click on input's value at UserBot panel;
    - Fixed some issues with the 'CO2 Sensor' type;
    - Fixed being able to choose any kind of output for irrigation alarm's output condition;
    - Fixed dragging out extras IOs on Area editor and not scrolling up to make the ones that are still there visible;
    - Fixed visual glitches in the UserBot panel;
    - Fixed long IO names on UserBot not fully visible;
    - Fixed some texts not fully displaying, font resizing wasn't being properly applied;
    - Fixed showing double confirmation message, in some cases, when disabling/enabling schedules;
    - Fixed/improved lots of functions to enable/disable/remove stuff in alarms and schedules from the main menu panels (it should be less prone to block);
    - Fixed area/grow names and current days not fully visible at the overview section;
    - Fixed missing a protection rule when importing TankBot settings from file;
    - Other minor fixes and improvements;


v1.0.2.10 (2020-02-07):
    - Added debug/program logs to the "export data-logs to file" operation;
    - Added Internet and e-mail service connectivity status to GroNode settings (requires GroNode firmware version higher or equal to 1.0.6.9);
    - Alarm active time quick editing now also display the date;
    - Improved the GroNode firmware recovery operation: it was making the UI unresponsive, some controls were not being properly handled, also fixed some missing texts;
    - Reduced network usage by the automatic GroNode search operation, it will be slower but increase the change to find GroNode(s);
    - Drastically reduced CPU usage to update the Alarms and Schedules UI panels;
    - Overall CPU usage improvements;
    - Updated languages;
    - Updated compiler and libraries, this fixes the issues introduced with the latest Windows 10 updates (e.g. crash when exporting data-logs to file);
    - Fixed wrong EC unit displayed in the quick alarm value configuration (was showing 'us' when the correct is 'ms');
    - Fixed not showing 'switch button' in the Alarm inputs selection when it belongs to a PowerBot;
    - Fixed not properly handling the module firmware files after upgrading firmware operation ends;
    - Fixed becoming blocked on the menu while changing the GroNode settings and the software lose connection with GroNode;
    - Fixed allowing the area night duration to be less than 5 minutes;
    - Fixed minor issues displaying the extra devices/sensors in the area configuration;
    - Fixed GroNode upgrade troubleshoot: when there is no info regarding GroNode, the software asks the user about hardware version but it wasn't presenting all the available hardware versions;
    - Fixed sending some unnecessary data to GroNode regarding its settings/properties (e.g. total data-log entries, battery...);
    - Fixed overriding the battery value to zero before sending settings to GroNode;
    - Fixed sending some unnecessary data to GroNode when editing the module's name;
    - Fixed setting Alarm with custom time to an incorrect day;
    - Fixed not properly displaying area/grow total elapsed days when using advanced day cycle (different than regular 24H cycle);
    - Fixed a potential exception when closing the software with the waiting window visible;
    - Fixed a missing translation in French and Spanish;
    - Other minor fixes, improvements, and code cleaning;

v1.0.2.9 (2019-04-15):
    - Added the Turkish language (provided by Vertical Farming Turkey - verticalfarmingturkey.com);
    - Fixed some visual glitches (elements disappearing/transparent);
    - Fixed some labels not clickable on PowerBot H3;
    - (DEMO) Fixed showing updates available on demo mode;
    - Fixed not aborting operation when refusing to install required drivers to upgrade modules' firmware;
    - Fixed minor issues in Alarms window (wrong texts applied to a label);
    - Fixed not showing a proper message after failing to download firmware file;
    - Fixed not blocking main menu navigation when processing changes to the GroNode's settings;
    - Fixed issues parsing UserBot data logs from GroNode;
    - Adjusted interface to better adapt to languages;
    - Improved some software debugging logs;
    - Improved data logs parsing operation when receiving them from GroNode;
    - Other minor fixes and improvements;
    - Updated languages;

v1.0.2.8 (2019-01-31):
    - Fixed not remembering open charts/cameras and its positions;
    - Fixed sending an unnecessary command to modules through the serial port when preparing to apply firmware upgrades;
    - Fixed device's speed acceptable range for UserBot;
    - Fixed labels out of place in modules' IO configuration;
    - Improved the sending logs task;
    - Added a new key combination to display packages lost and other hidden info (CTRL+SHIFT+I at GroLab Software main menu);
    - Other minor fixes and improvements;

v1.0.2.7 (2018-10-24):
    - Improved support to PowerBot Hardware 3;
    - Improved support to GroNode Hardware 5;
    - Improved serial port handling;
    - Implemented code base to support the new combined CO2 sensor (still not accessible on public build);
    - Updated modules section visuals for PowerBot;
    - Updated languages;
    - Other minor fixes and improvements;

v1.0.2.6 (2018-09-14):
    - Fixed some issues related to import/export module settings;
    - Fixed not allowing to type some valid characters on GroNode's external hostname, clock and cloud servers;
    - Fixed using incorrect IP to reconnect with GroNode after losing connection (remote connection);
    - Fixed not properly edit a schedule without recurrence that has the start date different than today;
    - Fixed an exception when closing GroLab at the same time that the task to do data-log triggers;
    - Fixed showing the message "Module name can't be blank" when canceling the module's name editing with a blank field;
    - Fixed visible horizontal scroll on extra IO's panel (Grow Control section);
    - Fixed a rare issue that was causing to not properly refreshing visuals making some controls not visible;
    - Fixed close calibration wizard from task-bar, it is now handled correctly;
    - Added support to the new PowerBot Hardware (version 3);
    - Added support to the new GroNode Hardware (version 5);
    - Added a protection to not show GroNode's battery over 100% or under 0%;
    - Added new options for the format GroNode's flash command (requires GroNode firmware >= 1.0.6.3);
    - Improved email's system that is used to send GroLab Software logs;
    - Improved format GroNode's flash and backups handling on loading operation;
    - Improved the clock window that it is used to set times;
    - Importing/exporting module settings will now take into account the internal temperature name and device's cool-down time;
    - Turning IO's ON/OFF or turning peristaltic ON/OFF on calibration wizard when it is not possible to open a connection with GroNode using its secondary port will now show an error message suggesting to open router ports;
    - Closing calibration wizard will not restore turn the peristaltic pump OFF if it was OFF before opening the calibration wizard;
    - Clearing module will also reset the name of PowerBot's internal temperature;
    - If the module is not alive a message will appear when user click on module security settings;
    - Forcing to update GroNode (CTRL + SHIFT + U) to a lower version will now force a format and then backups will be applied;
    - (DEMO) Changed hardware version from PowerBot displayed on demo mode, now it is the hardware version 3;
    - Other minor fixes and improvements;
    - Updated languages;

v1.0.2.5 (2018-07-09):
    - Fixed wrong "other sensor" icon on grow configuration section;
    - Fixed a crash opening a chart when GroNode has an invalid date/time;
    - Fixed not properly setting ON/OFF alarm input condition when using "other input" sensor type;
    - Fixed not showing an error message when exporting data logs to file operation fails;
    - Fixed a crash opening the data logs export to file menu when GroNode has an invalid date/time;
    - Fixed a crash while exporting data logs to file, caused by using not allowed characters for a sheet name, now those characters are replaced by white spaces;
    - Hardware version is now visible next to the firmware version on GroNode Settings and Modules menus.
    - Improved information about SoilBot's moisture sensor sample time;
    - Improved overall fields text validation;
    - Added Cloud Endpoint field on GroNode Cloud Settings (only available if GroNode has the latest firmware version 1.0.6.2);
    - Now before calibrating a sensor/probe alarms that use it will be disabled, after calibrating alarms are restored;
    - Now before calibrating a peristaltic pump alarms that use it as input condition will also be disabled until calibration finishes (older software versions only disabled alarms that use the peristaltic pump as output condition);

v1.0.2.4 (2018-06-01):
    - Fixed some issues related to software logging system;
    - Fixed some issues editing GroNode cloud upload settings;
    - Fixed a minor issue retrieving single alarm;
    - Fixed not showing proper messages when calibrating peristaltic (waiting operation to start and then waiting it to finish);
    - Fixed being able to click to start the schedule to calibrate peristaltic multiple times, causing GroNode to lose connection;
    - Fixed editing schedule: changing the duration or the date-time off was not properly changing the schedule;
    - Fixed showing the disclaimer when canceling custom GroNode firmware upgrade (on loading operation);
    - Fixed an exception when closing "pumps" calibration wizard from the windows task-bar;
    - Fixed not showing proper name based on language for some "not connected" inputs/outputs;
    - (DEMO) Fixed some issues that wasn't allowing to edit a peristaltic pump;
    - (DEMO) Fixed PowerBot buttons appearing;
    - Added a different message when user tries to upgrade module firmware, but none of the currently connected devices to PC is the selected module;
    - (DEMO) Minor improvements;
    - Updated languages;

v1.0.2.3 (2017-12-19):
    - Added the possibility to create an Alarm to pump an amount of milliliters using a peristaltic pump;
    - Fixed minor issues deleting Grows;
    - Fixed a crash when exporting data-logs to file;
    - Updated languages;
    - Other minor changes and improvements;

v1.0.2.2 (2017-12-05):
    - Implemented extra devices/sensors management to Area/Grow editor/creator wizard;
    - Implemented single time execution mode to Schedules/Alarms;
    - Implemented peristaltic calibration;
    - Implemented custom time Alarms;
    - Implemented action time type on Irrigation and Security Alarms;
    - Implemented device Security Cool-down time;
    - Implemented export data logs to file;
    - Added delete data logs button to GroNode settings;
    - Added support to GroNode v1.0.6.0;
    - Added support to TankBot hardware 9;
    - Added missing texts and tool-tips;
    - Added GroNode date/time and state to Alarms editor/creator wizard;
    - Added full backup feature to loading operation to restore backups after firmware upgrade (case it's needed);
    - Added default Security Cool-down time based on device;
    - Added manual module firmware installation on troubleshooting section;
    - Added the possibility to create a Schedule to pump an amount of milliliters using a peristaltic pump;
    - Remade module sensor/device configuration wizard;
    - Removed OxiBot from modules section;
    - Fixed minor issues when changing Schedule start/end/duration/recurrence time while recurrence is enabled;
    - Fixed an issue with cameras data consistency check;
    - Fixed a rare bug on Grow configuration (adding some devices/sensors was not assigning the correct ids);
    - Fixed EC units on charts from "us" to "ms";
    - Fixed minor visual issues related to Schedules;
    - Fixed minor issues adding/deleting/editing Areas/Grows;
    - Fixed issues related to modules import/export settings;
    - Fixed several bugs related to Area/Grow filters;
    - Fixed minor issues related with Alarms creator wizard;
    - Improved Area day/night;
    - Improved data consistency check;
    - Improved automatic GroNode search;
    - Improved loading operation;
    - Improved COM port handling;
    - Improved GroNode firmware recovery: if no info about previously connected GroNode or the available firmware to apply can cause some data loss, ask user if he really wants to proceed;
    - Minor visual improvements;
    - Now it's not possible to use internal PowerBot temperature as main Area temperature;
    - Now it's possible to choose weekdays on Light Schedules;
    - Now when clicking on G1 or G2 buttons on Area editor/creator wizard will open default Grow section;
    - Now changing from a peristaltic to other type will clear the calibration parameters and update Schedules/Alarms;
    - Now will only ask to delete data logs if GroNode memory usage is equal or higher than 10%;
    - Now it is possible to create an Alarm if user have at least one device or e-mail notifications configured;
    - (DEMO) Now it's possible to access peristaltic calibration on demo mode;
    - (DEMO) Now it's possible to configure device Security Cool-down on demo mode;
    - Updated Security Alarms descriptions;
    - Updated languages;
    - Other minor changes and improvements;

v1.0.2.1 (2017-05-03):
    - Improved overall performance;
    - Experimental feature to save last charts/cameras windows position when closing GroLab in order to reopen them when GroLab starts;
    - (DEMO MODE) Fixed an issue when adding devices to grow inside area creation and then cancel the operation, sometimes it would save the module device with area/grow id causing inconsistency issues;
    - Fixed not properly filtering modules that are still waiting IO values;
    - Fixed a minor issue related with alarms filters;
    - Fixed showing updates available tray notifications after updating everything;
    - Fixed issues related with custom firmware upgrade;
    - Fixed concurrency between GroNode sockets that was causing to show wrong output state after turning it on/off;
    - Fixed a minor visual bug related with close button on IO calibration window;
    - Fixed a bug related with irrigation alarm created by area/grow;
    - Fixed a bug when editing IO that is associated to schedules/alarms associated with area/grow it wasn't properly updating them;
    - Fixed a minor bug related with format flash on loading;
    - Fixed a bug that could cause some schedules/alarms to not be visible;
    - Fixed a bug when dragging heater to area on area creator, sometimes it would stay stuck until drag another device; 
    - Fixed a minor visual bug on growControl related with heater and soil type grow;
    - Fixed schedules filter for area 4 grow 1, it wasn't enabled by default;
    - Fixed a minor visual bug related with pH and EC probes on growControl;
    - Fixed a minor bug when editing alarms with "IS OFF" condition it would appear "IS ON", also would happens when changing device, now it stores last condition for devices and ON/OFF input types;
    - Fixed a minor bug when editing security alarm that acts on grow/area, when deselecting everything it would assume it was to shutdown all areas and grows instead of unselected action;
    - Fixed automatic area light schedule being created with name "Área" on Spanish, now it will use the name "area" since GroNode only supports ASCII chars;
    - Fixed associating wrong grow id to devices when adding new area, causing devices to not appear on list after clicking to unshare tank;
    - Fixed an issue that was causing an error on the user first attempt to manually turn on/off devices;
    - Fixed not removing heater from area main when changing heater to another type or changing area on module settings;
    - Fixed a crash when opening "other input" sensor chart;
    - Fixed extra sensors/devices panel blinks on Grow Control;
    - Fixed editing wrong sensor polarity on Grow Control;
    - Fixed several bugs/issues related with add/edit/delete area/grow;
    - Fixed not updating area/grows when changing the shared tank condition only;
    - Fixed not refreshing all alarms after deleting an alarm;
    - Fixed sensors/devices filters by area/grow on alarm/Schedule creation/edition
    - Fixed showing tank on GrowControl when grows doesn't have tank devices/sensors;
    - Fixed editing UserBot inputs was making the input state to blink (green/red);
    - Fixed on/off device state image not updating while mouse hover;
    - Fixed changing IO type and choosing to keep alarms was causing schedules to be edited;
    - Fixed changing IO type and choosing to keep alarms/schedules was causing to always edit schedule and alarm from index zero;
    - Fixed changing IO type that belongs to an alarm/schedule it was changing alarm/schedule area/grow ids to zero;
    - Fixed not updating some sensors/device on extras panel on Grow Control;
    - Fixed not changing tool-tip for enable/disable schedule button after enabling/disabling schedule;
    - Fixed not changing tool-tip for enable/disable alarm button after enabling/disabling alarm;
    - Fixed not updating module firmware version info after upgrading firmware;
    - Fixed an issue when adding an area without modules;
    - Fixed not being able to reconnect with GroNode after losing connection (specially using external connection); 
    - Fixed some rare issues after formating flash/alarms/schedules during loading operation that was causing to not load all data from GroNode;
    - Minor fixes when restoring default GroLab settings;
    - Other minor fixes;
    - Added missing heater tool-tip on growControl;
    - Added a protection to do not insert a NaN number on database;
    - Added SoilBot firmware upgrade button;
    - Added message on top of alarms/schedules panel when some alarms/schedules are not visible because filters, also if user click on this message all filters are reseted;
    - Added tray notification when the notifications e-mail is not configured on GroNode, it will appear every hour;
    - Added extra power on area creator/editor menu in order to represent the power needed for extra devices;
    - Added support to several date formats and to Celsius/Fahrenheit (sensors images still need to change in order to also show ºF) they can be configures at GroLab settings menu;
    - Added security settings to modules menu in order to set devices shutdown policy;
    - Added schedules type filters;
    - Added some missing tool-tips;
    - Added an option to perform modules backup on custom firmware upgrade;
    - Added new nutrients section (advanced tank configurations) on area/grow creation/edition menu;
    - Added nutrient devices to extra devices panel on Grow Control;
    - Added whats new slide to About section;
    - Added forbidden security alarm edition message when user try to enable/disable alarm buzzer/notifications when security alarm is active or waiting for validation.
    - Added multi-language to UserBot devices/sensors list titles;
    - Added French language;
    - Added message type verification when receiving messages from GroNode in order to make sure we received the correct response;
    - Added current area and grow day to GrowControl;
    - Added an protection to do not allow user to edit sensors/devices while security alarms are active or waiting validation;
    - Remade chart trend formula in order to give a more precise trend;
    - Remade area/grow power calculation for area creator/editor menu and growControl;
    - Remade progress bars calculation for timer alarms;
    - Implemented COM port communication: this will check if the module to upgrade is connected to PC and the respective port will be automatically selected;
    - Implemented a way to remember last area/grow viewed on growControl in order to keep it when user change menu and then come back to growControl;
    - Implemented DPI handling in order to maintain standard GroLab visuals on different DPI scales;
    - Improved communications between GroLab software and GroNode;
    - Improved GroNode firmware upgrade operation;
    - Changed reading schedules/alarms from GroNode in order to keep the same indexes on GroLab structures;
    - Changed reading modules from GroNode in order to just receive the ones that GroLab doesn't know yet and for the others we receive only the IO values;
    - Changed clicking on security alert at Grow Control in order to show alarms filtered to security alarms only;
    - Changed the top right buttons from charts/cameras, now they will be resized based on window mode (mini/normal);
    - Changed the order that alarms/schedules are displayed, now they are ordered by type and name;
    - Changed irrigation and security alarms filtering, now these types of alarms are also considered All Day;
    - Changed the behavior of e-mail notification buttons (area, alarms, schedules), if user didn't configured a valid e-mail address it will be not possible to enable e-mail notifications clicking on these buttons, also a message appears;
    - Changed when user create an alarm to SEND MAIL if the mail notifications are not configured yet a message will appear telling user to do it in order to choose SEND MAIL action;
    - Changed tray notifications icons based on message;
    - Changed default GroLab settings restoring operation in order to ask user to type current password as a security confirmation;
    - Changed removing an active alarm that reverses the action when removed, the confirmation message will also include the info that the device will be turned on/off;
    - Changed removing a on progress schedule, the confirmation message will also include the info that the device will be turned on/off;
    - Removed some GroNode firmware version protections for versions under 1.0.4.0;
    - Removed lamp type configuration (HPS, LED, ...) on light settings at area/grow creator/editor menu, now case its Indoor the lamp type will be set based on area main light device type, case it's Outdoor the type will be set to sun;
    - Remove extra devices/sensors panel on growControl when there are no extra devices/sensors;
    - Updated warning message when GroLab is not able to connect with GroNode to give some helpful tips;
    - Updated English language to make the message to release the module reset button when upgrading firmware more helpful;
    - Updated drag and drop feature on area creator/editor menu to preserve extra devices/sensors;
    - Updated data consistency check algorithm to include the total changes;
    - Updated unknown grow and area types images;
    - Updated area/grow creation/edition menu images;
    - Updated devices/sensors tool-tips on modules section;
    - Updated about section visuals and included what's new slider;
    - Updated alarm timer configuration visuals to be simple to understand when recurrence is enabled/disabled;
    - Updated alarms panel to include alarm output area/grow ids;
    - Updated languages;
    - Increased the timeout when formatting GroNode's flash;
    - Other minor changes and improvements;

v1.0.2.0 (2017-02-10):
    - Released cameras and charts;
    - Added some missing multi-language messages/texts;
    - Added updates available feature on main menu (notifications and also a shortcut button on left panel);
    - Added SoilBot flood sensors polarity editor;
    - Added heater to Area editor and Grow Control;
    - Added GroNode versions support extension;
    - Added GroNode data logs retrievement;
    - Added data logs memory space meter to GroNode settings;
    - Added data logs settings to GroNode settings;
    - Added tray notification when GroNode's date is earlier than 2017-01-01 warning user that date it's not valid;
    - Updated data sharing mail host address;
    - Updated languages;
    - Improved date/time receiving from GroNode in order to avoid wrong date/time;
    - Improved data consistency verification;
    - Improved choices dialog visuals;
    - Improved heater visuals;
    - Improved GroNode settings visuals;
    - Fixed changing GroNode clock settings when user didn't really changed them;
    - Fixed appearing 51 minutes when user didn't choose it on Clock dialog;
    - Fixed asking user what date should use on Schedules when the start date is a later date than current GroNode date;
    - Fixed not being able to close, minimize or open GroLab Settings while GroNode offline;
    - Fixed tray icon click on login menu after a failed connection with GroNode;
    - Fixed rare exception when user its on UserBots menu and closes GroLab;
    - Fixed not visible sensor value on Grow Control extra sensors when GroNode is offline;
    - (DEMO MODE) Fixed exceptions when closing GroLab;
    - (DEMO MODE) Fixed empty GroNode cloud key;
    - (DEMO MODE) Fixed blocking while changing GroNode masterID;
    - Removed GroLabUpdater.dll - GroLabUpdater was merged into GroLab;
    - Other minor improvements and fixes;

v1.0.1.38 (2017-01-03):
    - Added sample time to modules IO editor;
    - Added COM port selection dialog when there are more than one COM port available on modules firmware upgrade;
    - Added a protection to prevent user from adding new alarms/schedules when the maximum number of alarms/schedules was exceeded;
    - Added a protection to prevent areas from adding schedules/alarms when the max schedules/alarms were reached;
    - Added a choice dialog when editing schedules with recurrence or area day cycle, to allow user to choose if he wants to keep the original start date or to use current GroNode date;
    - Added tray notifications when current GroNode date exceeds the maximum allowed;
    - Implemented a feature to change modules and GroNode communication channels (master ID);
    - Implemented modules backup system;
    - Improved GroNode recovery from firmware upgrade issues;
    - Improved modules firmware upgrade;
    - Minor visuals improvement;
    - Updated GroNode firmware upgrade disclaimer;
    - Updated languages;
    - Fixed saving GroNode firmware backup file with an incorrect name;
    - Fixed using an incorrect alarm value (last value) when editing an alarm;
    - When GroLab connects to GroNode will check if there are any pending backups to restore. Case there are the backups will be restored to GroNode;
    - Editing area always will check if its needed to create/edit light schedule or irrigation alarms. Case its needed a message will appear asking user to do it;
    - Now GroLab will automatically search for GroNodes on the network if there are no valid GroNodes known;
    - Default max size to receive camera image change to 50Kb. Case it's not enough the size will keep increasing by blocks of 50Kb until achieve the right size to receive image;
    - Recovering GroNode from a failed firmware upgrade operation when there are no GroNodes known, will ask user to select GroNode hardware version;
    - Other minor changes and improvements;
	
v1.0.1.37 (2016-12-15):
    - Added automatic modules firmware upgrade check;
    - Added TankBot firmware upgrade;
    - Combined schedules and alarms into one button;
    - Improved automatic GroNode search;
    - Improved GroLab messages;
    - Improved update/upgrade system;
    - Improved module firmware upgrade;
    - Improved GroLab settings system, now it creates a backup for last valid settings and a recovery system was added to prevent user from being able to use GroLab when settings are invalid;
    - Improvements on initial menu related to GroNode connection modes;
    - Fixed minor issues related to automatic GroNode search;
    - Fixed JSON issues related to date/time;
    - Fixed minor visual issues on the first time user go to GroNode settings;
    - Fixed tray notifications were also showing notifications for schedules created by alarms;
    - Fixed wrong air electrovalve image when mouse over on panel alarms;
    - Minor visuals improvements;
    - Other minor fixes and improvements;
    - Updated languages;

v1.0.1.36 (2016-12-07):
    - Added automatic GroNode search for the first time user opens GroLab;
    - Added a new layer of security that requires user to type current password when trying to change credentials;
    - Implemented a new way to force tutorials to open on a browser;
    - Fixed visual issues after click on "show desktop" and then open GroLab from tray;
    - When GroLab credentials are equals/similar to the default a warning will appear asking the user to change them;
    - When GroNode credentials are equals/similar to the default a warning will appear asking the user to change them;
    - Minor visuals improvements;
    - Updated languages;
    - Other minor fixes and improvements;

v1.0.1.35 (2016-11-30):
    - Added a new device - Heater;
    - Added PowerBot firmware upgrade feature (this feature is disabled on offline mode);
    - Implemented modules USB driver download and installation;
    - Now it's possible to use custom day/night cycle without setting a main area light;
    - Improved Grow Control started at and ends at labels;
    - Improved device/sensor type selection to support more devices/sensors;
    - Fixed visual issues after deleting an area with grows;
    - Fixed alarm creation bug that was allowing user to set an alarm to operate only on day or night time with a sensor/device that was not associated with an area;
    - Other minor fixes and improvements;
    - Updated languages;

v1.0.1.34 (2016-11-23):
    - Now it's possible to use area indoor without setting a main light, but without main light it's not possible to use advanced day/night cycle;
    - Now the security alert on Grow Control will appear only if the security alarms affect current area/grow;
    - Now it's only possible to choose latitude between 71 and -70 on area menu, this will avoid weird sunrise/sunset values for date/time;
    - Added security alert tool-tip on Grow Control;
    - Added persistence icon to alarms;
    - Added mail notifications tool-tip on the area menu;
    - Added persistence icon to schedules;
    - Added troubleshooting menu on the initial menu;
    - Added firmware upgrade issues troubleshooting;
    - Updated languages;
    - Optimized images;
    - Improved extra sensors tool-tips on Grow Control;
    - Improved messages form on GroLabUpdater;
    - Improved battery levels visuals and texts;
    - Improved mail notification and alarm buzzer icons;
    - Minor improvements on alarms/schedules visuals;
    - Minor improvements on initial menu visuals;
    - Fixed wrong sunrise and sunset values on Grow Control;
    - Minor fixes and improvements on the feature to open already running GroLab;
    - Other minor fixes and improvements;

v1.0.1.33 (2016-11-17):
    - Now when creating/editing schedule clicking to disable/enable recurrence will not make the user lose the last recurrence value;
    - Prevented close and save buttons on alarms menu to perform events after alarms menu is closed;

v1.0.1.32 (2016-11-17):
    - Added multi-language support: English, Spanish, and Portuguese;
    - Added start and end date/time for area day/night on Grow Control;
    - Added security alert to Grow Control;
    - Added camera icon to Grow Control;
    - Implemented a new way to handle the "already running another GroLab instance", now it will open the running instance;
    - Now when the user opens the calibration menu it will not make the main menu disappear;
    - Now water pump on Grow Control its called water pump instead of tank;
    - Now when the user clicks on firmware upgrade disclaimer check-box if didn't read the text until the end the vertical scroll will move down 5% per check-box click;
    - Increase receive timeout to 9 seconds when formating all data, alarms or schedules;
    - Improved GroNode battery levels text;
    - Fixed not retrieving areas info when the user is on Grow Control menu;
    - Fixed settings button not changing image when there is a transition between day/night on Grow Control;
    - Fixed area buttons on area section not performing animation and not being clickable on rare occasions;
    - Fixed open about and GroLab settings menus from tray icon;
    - Minor fixes and improvements on alarms;
    - Other minor fixes and improvements;

v1.0.1.31 (2016-11-04):
    - Added protection for the cases when the user is trying to change devices/sensors associated grow when it belongs to a shared tank;
    - Added new tool-tips;
    - Now the current menu is stored and will be opened when the user comes back to GroLab, this works for both Overview and Settings sections, so if user alternate between these 2 sections the menus from both of them will be stored;
    - Now it's possible to add persistence to timer Alarms;
    - Now the internal PowerBot temperature will appear on Grow Control extra sensors if the user associate it to an Area/Grow;
    - Now if UserBot sensor it's not connected it will be possible to change its type to any type;
    - Now it's possible to change the type of UserBot sensors to not connected;
    - Implemented a new way to deal with sensor values/hysteresis on Alarms creating/editing, the previous values are now stored;
    - Limited maximum and minimum latitude on Area world map;
    - Improved tool-tip for not connected devices/sensors;
    - Improved Calibration menu;
    - Improved Schedules weekdays buttons/labels;
    - Improvements and fixes on devices/sensors type selector;
    - Improved Module Serial Number handler;
    - Improved texts;
    - Improved messages system;
    - Improved tool-tips handler on the main menu;
    - Improved JSON handler;
    - Fixed DHCP disabled text;
    - Fixed minor issues related to Area and Grows;
    - Fixed blinks related to GroLab settings button on Overview section;
    - Fixed Alarms with timer not updating progress bars;
    - Fixed Timer Alarm not updating persistence when edited;
    - Fixed not visible labels on Grow Control when it's night and lamp is on;
    - Fixed close and minimize buttons over animation on Grow Control;
    - Fixed enable edit mode button on GroNode settings;
    - Fixed not appearing extra sensors on Grow Control;
    - Fixed clean feature on UserBot, now if sensor or device doesn't exist it will stay with that type, otherwise will be changed to not connected;
    - Minor fixes on Alarms Panel;
    - Minor texts fix on Grow Control;
    - Code optimizations;
    - Other minor improvements and fixes;

v1.0.1.30 (2016-10-13):
    - Fixed minor issue when creating alarm;

v1.0.1.29 (2016-10-12):
    - Removed device speed control from Grow Control;
    - Improved alarm timer bars;
    - Now GroLab can update to new firmware versions (1.0.2+);
    - Fixed a bug that was causing to skip 1 byte when reading schedules from GroNode;
    - Improved GroNode battery levels descriptions and colors;
    - Improved devices powers on area, now they are organized by: area, grow 1, grow 2, shared and total; 
    - Fixed total and instant powers on Grow Control;
    - Now GroLab only supports firmware version >= 1.0.3.0;
    - Fixed issues related with alarm editing;
    - Now some visuals area updated faster after performing actions (example: disabling/enabling alarms);
    - Improved turning devices on/off;
    - Other minor fixes/improvements;

v1.0.1.28 (2016-10-06):
    - Updated Newtonsoft.Json.7.0.1 to Newtonsoft.Json.9.0.1;
    - Fixed Total Power label position on Grow Control;
    - Now when the configurations panel open on GroLab login menu and the window is not fully visible, it will be centered;
    - Improved texts;
    - Improved restore to default settings;
    - Now speed its only available for specific devices (LEDs, Peristaltic Pumps, Water Pumps, Ventilation devices, and unspecified outputs);
    - Added a slider to configure device speed;
    - Now GroNode credentials reminder its checked by default;
    - Now the Schedule progress bar becomes yellow when the module is offline;
    - Now the Schedule progress bar becomes red when the Schedule reach the end but it's not possible to send commands to module because it's offline;
    - Now the Schedule bar becomes red when its an invalid day, when its a valid day it changes to green again;
    - Added more tool-tips to Alarms menu;
    - Fixed wrong timestamp when reading Alarms from GroNode;
    - Other minor fixes and improvements.

v1.0.1.27 (2016-09-15):
    - Fixed Schedule name changing when changing Schedule times/date;
    - Fixed being able to change weekdays settings for Light Schedules;
    - Added settings button to GrowControl;
    - Area and Grow maximum Start Date it's now 31-12-2035;
    - Now if the Schedule Start Date it's > maximum allowed value, the maximum allowed value will be set to Schedule Start Date;
    - Now if the GroNode time/date it's > maximum allowed value the maximum allowed value will be set to GroNode time/date;
    - Now Schedule loading bar only run if Schedule is On Progress;
    - Added tool-tip to bug report button on the initial menu;
    - Added tool-tip to refresh buttons on the initial menu;
    - Fixed and improved IP on the initial menu;
    - Now while a message is visible on the initial menu the GroLab System Tray will stay disabled;
    - Improved texts;
    - Improved Device Speed;
    - Other minor improvements and fixes;
    - Now when GroNode reach the max authentications allowed a message will be displayed;
    - Now when editing Schedule the Start Date will be equals to Start Time;
    - Implemented command to ping GroNode;
    - Now GroLab only supports GroNode Firmware version >= 1.0.1.50;
    - Now when the GroNode Credentials Dialog appears the username text will be selected to allow the user to start writing credentials;
	</description>
</update>