GitPedia
tobozo

tobozo/ESP32-targz

🗜️ An Arduino library to compress/decompress tar, gz, and tar.gz files on ESP32, ESP8266, RP2040 and Teensy

30 Releases
Latest: 4mo ago
v1.3.1Latest
tobozotobozo·4mo ago·January 29, 2026
GitHub

📋 What's Changed

  • Added support for Teensy (all versions, mostly untested) by @tobozo in https://github.com/tobozo/ESP32-targz/pull/96
  • Full Changelog: https://github.com/tobozo/ESP32-targz/compare/v1.3.0...v1.3.1
v1.3.0
tobozotobozo·5mo ago·January 22, 2026
GitHub

📋 What's Changed

  • Full Changelog: https://github.com/tobozo/ESP32-targz/compare/v1.2.9...v1.3.0
v1.2.9
tobozotobozo·10mo ago·August 17, 2025
GitHub

📋 What's Changed

  • Adjusted verbosity + tweaked tests by @tobozo in https://github.com/tobozo/ESP32-targz/pull/89
  • Full Changelog: https://github.com/tobozo/ESP32-targz/compare/v1.2.8...v1.2.9
v1.2.8
tobozotobozo·1y ago·May 31, 2025
GitHub

📋 What's Changed

  • Health checks: added support for large (>4GB) SD Cards as suggested by @schmitta38 (#86)
v1.2.7
tobozotobozo·1y ago·March 21, 2025
GitHub

📋 What's Changed

  • Fixed crash when `tgzLogger` not set, thanks to @zekageri for reporting
  • Full Changelog: https://github.com/tobozo/ESP32-targz/compare/v1.2.6...v1.2.7
v1.2.6
tobozotobozo·1y ago·February 13, 2025
GitHub

📋 What's Changed

  • bufix for SD-Updater (thanks to @mongonta0716 for reporting)
  • Full Changelog: https://github.com/tobozo/ESP32-targz/compare/v1.2.5...v1.2.6
v1.2.5
tobozotobozo·1y ago·February 1, 2025
GitHub

📋 What's Changed

  • Added more methods to LZPacker:
  • ```cpp
  • // file to file
  • size_t LZPacker::compress( fs::FS *srcFS, const char* srcFilename, fs::FS*dstFS, const char* dstFilename );
  • // file to stream
  • size_t LZPacker::compress( fs::FS *srcFS, const char* srcFilename, Stream* dstStream );
  • ```
  • Added TarPacker:
  • + 17 more
v1.2.4
tobozotobozo·1y ago·January 11, 2025
GitHub

📋 What's Changed

  • Added compression support with `LZPacker::compress()` by @tobozo in https://github.com/tobozo/ESP32-targz/pull/79
  • ```cpp
  • // buffer to stream (best compression)
  • size_t LZPacker::compress( uint8_t* srcBuf, size_t srcBufLen, Stream* dstStream );
  • // buffer to buffer (best compression)
  • size_t LZPacker::compress( uint8_t* srcBuf, size_t srcBufLen, uint8_t** dstBufPtr );
  • // stream to buffer (average compression)
  • size_t LZPacker::compress( Stream* srcStream, size_t srcLen, uint8_t** dstBufPtr );
  • + 6 more
v1.2.3
tobozotobozo·2y ago·March 28, 2024
GitHub

📋 What's Changed

  • Stream expander by @bakadave in https://github.com/tobozo/ESP32-targz/pull/74
  • ```cpp
  • bool GzUnpacker::gzStreamExpander( Stream* sourceStream, fs::FS destFS, const char* destFile );
  • ```

New Contributors

  • @bakadave made their first contribution in https://github.com/tobozo/ESP32-targz/pull/74
  • Full Changelog: https://github.com/tobozo/ESP32-targz/compare/v1.2.2...v1.2.3
1.2.2v1.2.2
tobozotobozo·2y ago·January 10, 2024
GitHub

📋 What's Changed

  • Fixed compilation error with platformio when lib_ldf_mode is chain+ or deep+
1.2.0v1.2.0
tobozotobozo·2y ago·October 13, 2023
GitHub

📋 What's Changed

  • Bugfix for [pointer returned from a mismatched allocation function](https://github.com/tobozo/ESP32-targz/compare/1.1.9...1.2.0)
1.1.9v1.1.9
tobozotobozo·3y ago·May 1, 2023
GitHub

📋 What's Changed

  • [RP2040/Pico support](https://github.com/tobozo/ESP32-targz/commit/4e545b64277bff4aae9365f4f416e5fd6c30dc8d)
  • [Added GzUnpacker->noDict() to force crc-based decompression](https://github.com/tobozo/ESP32-targz/commit/a58083a4730065e1531c92e0b20cb30156b9234f)
  • [fix for platformio whining about missing definition for size_t](https://github.com/tobozo/ESP32-targz/commit/b62e3a7ff1f859d81a020e8cafbeee27d01f86d5)
  • Memory optimization/fixes for ESP8266
  • CI: added ESP32 qemu to tests
  • Full Changelog: https://github.com/tobozo/ESP32-targz/compare/v1.1.7...v1.1.9
1.1.7v1.1.7
tobozotobozo·3y ago·October 25, 2022
GitHub

📋 What's Changed

  • 1.1.7 (RP2040 support) by @tobozo in https://github.com/tobozo/ESP32-targz/pull/62
1.1.6v1.1.6
tobozotobozo·3y ago·October 25, 2022
GitHub

📋 What's Changed

  • [Added stream timeout and destByteReader](https://github.com/tobozo/ESP32-targz/pull/61/commits/3f1b91f5ca22c67cd407482c1370a1ddbf076a63)
  • [Removed SPIFFS as default filesystem](https://github.com/tobozo/ESP32-targz/pull/61/commits/4f2d88dfe67913231dc0c7021227f92fed02e7e0)
  • Fixes and tweaks for esp8266
1.1.5v1.1.5
tobozotobozo·3y ago·September 30, 2022
GitHub

📋 Changes

  • Fixed compilation warnings
  • Renamed `src/ESP32-targz-lib.h` -> `src/ESP32-targz-lib.hpp`
  • Added GzUpdateClass for ESP32 to pair integration with @vortigont's [flashZ](https://github.com/vortigont/esp32-flashz) in [esp32FOTA](https://github.com/chrisjoyce911/esp32FOTA) pigz/gzip upcoming support
1.1.4v1.1.4
tobozotobozo·4y ago·January 2, 2022
GitHub

Added tarStreamExpander upon @mc-hamster's suggestion, see #52

1.1.3v1.1.3
tobozotobozo·4y ago·November 9, 2021
GitHub

📋 Changes

  • TAR archives containing `./` as the root path failed to expand when the output folder was not the root folder
  • `setGzProgressCallback` was ignored when using streams
  • stream example was failing since arduino-esp32-core 2.0.x
  • `tarGzStreamExpander` accepts an extra argument with stream size, the value can be either picked from `Content-Length` HTTP response header, or from `file.size()` when the stream source is the filesystem.
  • TAR paths are cleaned up on extraction
1.1.2v1.1.2
tobozotobozo·4y ago·September 30, 2021
GitHub

This release fixes a bug: if there was an *empty file* inside `.tar` archive and tar health checks were enabled, unpacking would stop and return `error -34` without finishing the archive. Thanks to @JamPaul97 for reporting this (see #48).

1.1.1
tobozotobozo·4y ago·August 14, 2021
GitHub

📋 Changes

  • esp32-sdk-2.0.x compliance:
  • `fs::File->name()` has a new behaviour since 2.x.x
  • LittleFS is now part of the core
  • esp8266-sdk-3.x.x compliance:
  • strdupa / memrchr shims
  • MD5Builder code shared with ESP32 (removed conditional macros)
  • [PSRAMFS](https://github.com/tobozo/ESP32-PsRamFS) support
  • updated examples
1.0.5-beta
tobozotobozo·5y ago·May 12, 2021
GitHub

📋 Changes

  • Added Include and Exclude Filter to TAR
  • Added Include and Exclude Filter to tarGzExpander test
  • Added gzStreamExpander
  • Temporarily added gzStreamExpander as second test
  • Enabled progress with gzUpdater (see #37)
  • Added setPsram for ESP32 (request from @sharandac, #37)
  • Added support for ramdisk
  • Added dual example for gzStreamUpdater and tarGzStreamUpdater
1.0.4-beta
tobozotobozo·5y ago·April 14, 2021
GitHub

This is a fix release (see #33) addressing an issue where a tar file containing a file with extended attributes would fail to unpack and ignore subsequent files. Thank you @frankcohen for finding that out!

1.0.3-beta
tobozotobozo·5y ago·March 18, 2021
GitHub

This is a maintenance release, mostly adressing error handling with uzlib and network streams.

1.0.2-beta
tobozotobozo·5y ago·February 15, 2021
GitHub

📋 Changes

  • Archive must be `.tar.gz`
  • Application binary file name must end with `ino.bin`
  • Spiffs binary file name must end with `spiffs.bin` or `mklittlefs.bin`
1.0.1-beta 1.0.1-beta
tobozotobozo·5y ago·January 21, 2021
GitHub

This release mostly contains fixes and memory improvements for ESP8266. All examples have been merged into one single sketch for simplicity and integrity.

1.0.0-alpha = New syntax, breaking changes!1.0.0-alpha
tobozotobozo·5y ago·January 18, 2021
GitHub

📋 Changes

  • Moved to OO syntax (+Namespaced GZ and TAR)
  • Updated documentation and examples
  • Added complete test suite for both ESP32 and ESP8266 (see [Test_tar_gz_tgz.ino](examples/Test_tar_gz_tgz/Test_tar_gz_tgz.ino))
  • Implemented tarGzStreamExpander + gzStreamUpdater for ESP32
  • Improved ESP8266 Support (bugfixes and performances)
0.3.2
tobozotobozo·5y ago·January 14, 2021
GitHub

📋 Changes

  • Fixes #16 for ESP8266
  • Implements #18 `gzStreamUpdater` for ESP32 platform, see [Update_from_gz_stream](https://github.com/tobozo/ESP32-targz/tree/master/examples/Update_from_gz_stream) from the examples folder
  • Output and progress log functions are temporarily inconsistent across platforms
0.3.0
tobozotobozo·5y ago·January 10, 2021
GitHub

New decompression modes: tarGzExpander ------------------- It is no longer required to use an intermediate file with tarGzExpander. ```C // this will use an intermediate file (defaulting to /tmp/tmp.tar) tarGzExpander(tarGzFS, "/blah.tat.gz", tarGzFS, "/tmp" ); // this will use an intermediate file too tarGzExpander(tarGzFS, "/blah.tat.gz", tarGzFS, "/tmp", "/tmp/my_temporary_file.tar" ); // this will do a direct gz->tar->filesystem expanding, using no intermediate file tarGzExpander(tarGzFS, fileJustBigEnoughForSPIFFS, tarGzFS, "/tmp", nullptr ); ```

0.2.1 (Features release)0.2.1
tobozotobozo·5y ago·November 15, 2020
GitHub

📋 Changes

  • Silent mode using callbacks for progress and log
  • Better error handling and reporting
0.2.0
tobozotobozo·5y ago·November 8, 2020
GitHub

📋 Changes

  • bugfix (#8) where gzUpdater was crashing (thanks to @scubachristopher for reporting this).
  • temporary downgrade of tarGzExpander now using an intermediary file until gzStream->tarStream gets fixed
  • error reporting was slightly improved and is now throwing much less false positives.
Maintenance release0.1.2
tobozotobozo·5y ago·September 20, 2020
GitHub

Added getGzBufferUint8() to make this 4KB stream buffer available outside the library scope, so they're not completely wasted.