Skip to content

Releases: chrisjoyce911/esp32FOTA

0.2.7

10 Dec 17:09
f9de9c6
Compare
Choose a tag to compare

What's Changed

  • Fixed config allocator
  • Fixed examples
  • Added esp32FOTA::printConfig()

fixes #118 (for real? 🤞)

0.2.6

08 Dec 13:39
ae10808
Compare
Choose a tag to compare
  • Removed esp32FOTA::checkURL and esp32FOTA::useDeviceID
  • Improved memory management with config
  • Added CI Tests for Arduino IDE
  • Fixed withDeviceID.ino example

fixes #105
fixes #115
fixes #116

Full Changelog: v0.2.5...v0.2.6

0.2.5

06 Dec 10:16
0a067ad
Compare
Choose a tag to compare

What's Changed

  • Compilation fix for Windows+Arduino IDE 2.0.1 (see #113) by @buttim in #114

Changelog: v0.2.4...v0.2.5

0.2.4 Doc and Examples update

01 Dec 12:41
65eb506
Compare
Choose a tag to compare
Merge pull request #103 from chrisjoyce911/0.2.4

0.2.4

HTTPClient and others

24 Oct 20:54
Compare
Choose a tag to compare
  • 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

30 Sep 22:49
4ed3c95
Compare
Choose a tag to compare

What's Changed

zlib/gzip compressed firmwares support!

⚠️ Signature check is not available when using compressed archives

See the ReadMe section for more info.

v0.2.2

26 Sep 12:05
bcfd437
Compare
Choose a tag to compare

What's Changed

  • Fix integration with platformio by @gldhnchn in #96
  • Renamed esp32fota.cpp to esp32FOTA.cpp + version bump by @tobozo in #97

New Contributors

Full Changelog: 0.2.1...v0.2.2

Fixes and features

19 Sep 15:09
c8398d9
Compare
Choose a tag to compare

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

16 Sep 09:17
b3b95ee
Compare
Choose a tag to compare

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

21 Nov 05:08
2446d41
Compare
Choose a tag to compare

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