Releases: iotappstory/ESP-Library
Pre-release for IOTAppStory ESP Library 2.1.0
Updated the root certificate used in some of the examples.
Due to human error, the certificate in the previous release candidate was stored in the wrong format.
THIS ONLY AFFECTS THE EXAMPLES USING SPIFFS!
/data/cert/iasRootCa.cer
Pre-release for IOTAppStory ESP Library 2.1.0
It seems we are getting closer to a final release of 2.1.0
Improvements
- NTP time sync routine | Prevent long sync times especially for the ESP8266
- EEPROM addField | Prevent errors when adding more fields later on | Breaking *
- The onFirmwareUpdateError callback now returns a message (String statusMessage)
Additions
- onFirmwareNoUpdate(String statusMessage) callback | Called when no updates are available.
- added function eepFieldsConvertOldToNew() to convert the old eeprom style layout to the new style.
Updated examples #178 #179 #183
Multiple small changes to make the examples more in line with the last library updates. (ntp time, callbacks, latest root cert etc.)
New loader sketch
Added the DirectLoader sketch for adding devices to IOTAppStory.com
Breaking #180 #181
The EEPROM layout used by the addField() function has slightly changed. This was wrong all along! And caused issues for developers adding more fields later on. This "Fix" will break backwards compatibility with your previous stored fields. So we made the eepFieldsConvertOldToNew() function to help you convert the old to the new EEPROM layout.
You need to run this in the onFirstBoot callback. And no worries! It will only run if it detects the old EEPROM layout.
IAS.onFirstBoot( {
IAS.eepFieldsConvertOldToNew();
});
If you need to / want to keep running the "old style" you can change this in the config.h file:
#define EEPROM_STORAGE_STYLE EEP_NEW // EEP_OLD / EEP_NEW
Pre-release for IOTAppStory ESP Library 2.1.0
Bugfixes
- added default value for eepFreeFrom #149
- Reboot while in Config mode #168
- setClock sets the time to GMT+3 #131
- Only connect to Wifi if there is NO connection #169
Update
- the hardcoded PROGMEM certificate
- the hardcoded Fingerprint
- Example: IASLoader added hardcoded certificate for faster setup by user
Additions
- Timeout for configmode after X time of inactivity (lost with past pullrequests...)
- Example: BatchLoader
- bool IAS.WiFiConnected so users can check and or tell the library if the device is connected to WiFi
- Preset: IAS.preSetConnWifiOnBoot(false) to prevent the library from setting up WiFi on boot.
Improved
- WiFiConnect & Disconnect
- WiFi: Don't try to connect if no creds. (thanks dd_weber)
- NTP time sync routine. Continu to boot if the initial sync failed. And try again later when needed: Callhome & Configmode
- setclock to UTC by default & add defines in config.h for timezone, offset and servers #131
- Configmode
- also send announcements to IAS servers when using the config from local SPIFFS storage
- Add workaround to prevent ESP32 reboots when connecting in AP mode #168
Pre-release for IOTAppStory ESP Library 2.1.0
Breaking
Set default for HTTPS_8266_TYPE to CERTIFICATE #147
In previous releases the default was FINGERPRINT
This means you will have to add an certificate to existing projects. This can be done in config mode. Or by sending an OTA spiffs update with the certificate in the "certs" folder before updating the sketch to RC3.
Bugfixes
- Fixed mdns support for ESP8266 devices #142
- Fixed Dependency on ESPNexUpload (#143) when not being used
- Added missing wifi (re) connector #146 Thankyou @CwlBroeders
- Added missing eepFreeFrom #144
Other changes
Pre-release for IOTAppStory ESP Library 2.1.0
Rewritten WiFi, config and added field structs #122
- More free heap & ram for both the ESP8266 and ESP32
- More stable BearSSL connections on the ESP8266
- More durable / future proof EEPROM layout
- WiFi: static ip options
- WiFi: beter WiFiscan the first time a page is loaded
- Fixed ESP32 bug for storing certificates to SPIFFS on new devices
The above changes break backwards compatibility with previously stored values in EEPROM. (WiFi, device registration, added fields....) If you do not mind re adding these just update. Otherwise have a look at the libraryUpgrader sketch mentioned below.
Examples
IOTAppStory ESP Library
IOTAppStory ESP Library
We have completely rewritten the OTA update portion of the library and are ready to update a whole lot more devices in the future. In this release we start supporting Nextion displays. And expect to support the Arduino MKR samd based boards from 2.2.0
Breaking change
- SSL/TLS API (BearSSL)
Great additions
- Update Nextion displays OTA with an ESP #86 | dependency ESPNexUpload
- Update progress callback
- Update SPIFFS is now optional #98
- Standalone Offline SPIFFS config pages (optional)
- Config pages: Added local firmware update (optional)
- Config pages: Certificate manager (optional for ESP8266, default for ESP32)
- Root certificates and or certificate bundles are now stored in SPIFFS
Examples
- Edited Wemos-Shield-Clock | ezTime instead of SNTPtime
- Added ESP-DASH examples for the ESP32 | library by ayushsharma82
- Added ESPAsyncWebServer examples | library by me-no-dev
- Added OfflineSpiffsConfigPages example | Run full config mode without internet
- Added WiFiConnectionsAndEvents example
- Added ezTime examples | library by ropg
IOTAppStory ESP Library
IOTAppStory ESP Library
- new callback onFirmwareUpdateSuccess();
- unsigned int eepFreeFrom; (From where can I use eeprom?)
- Fixed compiler warnings PIO, depreciated methods & codealignment
- Credit ESP Async Webserver dependencies list
(f9b040d#diff-5a96806328fdf598e651d77cf92879fe) - Issue #75 Define pins for specific boards #77
IOTAppStory ESP Library
2.0.0 unique deviceName only for esp8266