Releases: chrisjoyce911/esp32FOTA
0.2.7
0.2.6
0.2.5
0.2.4 Doc and Examples update
Merge pull request #103 from chrisjoyce911/0.2.4 0.2.4
HTTPClient and others
- Signature verification
- Read public key from SPIFFS
- Switch to HTTPClient
- Allow 200 and 301 redirects
- Call http.end() if deserializing JSON fails
- Optionally allow HTTPS insecure
- Add semantic versioning support
- Allow full URLs in firmware manifests
Minor cleanup (renames firwmare to firmware) and fix to close #70
Optionally allow HTTPS insecure
Although not ideal, there are plenty of instances where I can see a user wanting/needing to use HTTPS to transfer firmware, while not having access to the root certificate necessary to validate the HTTPS connection is in fact secure. This adds an optional flag to the esp32FOTA constructor allowing for HTTPS insecure mode to be used instead of loading the root certificate.
Add semantic versioning support
This PR adds support for semantic versioning, relying on h2non's semver.c library to actually parse/compare semantic version strings. His library is MIT licensed. As the library is not part of the platformio library registry, I've manually included the library's code in the src/semver/ directory -- If anyone has a better way to do this, I'd love to hear it!
** Allow full URLs in firmware manifests**
This maintains backwards compatibility by continuing to accept manifests that break the three fields out, as well as forceUpdate requests that do the same.
Cleanup and universal HTTP/HTTPS
Thanks @nuclearcat & @thinksilicon
0.2.3 : zlib and gzip support
What's Changed
zlib/gzip compressed firmwares support!
- Zlib with @vortigont's esp32-flashz
- Gzip with @tobozo's ESP32-targz
See the ReadMe section for more info.
v0.2.2
Fixes and features
New callback setters (need tuning/feedback) fixes #87 fixes #89 :
setUpdateBeginFailCb
setUpdateEndCb
setUpdateCheckFailCb
setUpdateFinishedCb
- Arduino Library Manager compliance (now uses #include <esp32FOTA.hpp>
) fixes #85 fixes #93
- New constructor esp32fota( FOTAConfig_t )
for init with predefined config, fixes #83
- New empty constructor to use with getConfig()
/ setConfig(FOTAConfig_t)
for late init
- Improved signature check, fixes #88 fixes #71
- Wrapped C semver_t
in C++ SemverClass
- Added signed example to test suite
- execOTA()
now a bool
Data partitions and filesystem agnosticism
What's Changed
- Abstracted away filesystem
- Added spiffs/littlefs/fatfs updatability
- Made crypto assets (pub key, rootca) loadable from multiple sources
- @tuan-karma's compiler warning fix (#a0e9e5c)
- LittleFS/SD/SD_MMC/SPIFFS (any FS) support for certs/signatures
- Auto assign filesystem when applicable
- Added SPIFFS/LittleFS partition support to execOTA()
- Added Callback setter for Update progress handler
- Implemented
esp32fota.setExtraHTTPHeader( name, value )
- C++11 compliance
- Credits update
- Updated examples
- Created test suite (#6)
- Added Dispatchable Workflow for library maintainers (manual triggering)
- bump version
New methods (see ReadMe for details)
void setProgressCb(ProgressCallback_cb fn);
void setExtraHTTPHeader( String name, String value );
void setCertFileSystem( fs::FS *cert_filesystem);
CryptoAsset();
CryptoFileAsset( const char* _path, fs::FS* _fs ) : public CryptoAsset;
CryptoMemAsset( const char* _name, const char* _bytes, size_t _len ) : public CryptoAsset;
void setPubKey( CryptoAsset );
void setRootCA( CryptoAsset );
New Contributors
Full Changelog: 0.1.6...0.2.0
HTTP/1.0 and HTTP/1.1
Some web servers answer HTTP/1.0 when they receive HTTP/1.0 request, and current version will refuse HTTP/1.0.
This rather trivial patch fixes that.
Thanks @nuclearcat