From v5.1 to v5.2

PartitionStream: Breaking change

The Storage::PartitionStream constructors with blockErase parameter have been deprecated. The intended default behaviour is read-only, however previously this also allowed writing without block erase. This can result in corrupted flash contents where the flash has not been explicitly erased beforehand.

The new constructors instead use a Storage::Mode so behaviour is more explicit. The default is read-only and writes will now be failed.

64-bit time_t

There is some variability in whether time_t is 32 or 64 bits. See issue #2758.

This is dependent on the toolchain and accompanying C library.

32-bits:

  • Esp32 IDF 4.x

  • Windows Host (using mingw)

  • Linux host builds prior to Sming v5.2

Range of time_t:

-0x80000000: 1901-12-13 20:45:52 0x00000000: 1970-01-01 00:00:00 0x7fffffff: 2038-01-19 03:14:07

All others use 64-bit values.

For reference, C library source code can be found here https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/

Rp2040 builds with standard ARM toolkit so probably accommodated by the standard repo.

Espressif toolchains use forks:

esp8266: https://github.com/earlephilhower/newlib-xtensa/blob/xtensa-4_0_0-lock-arduino/newlib/libc/ esp32: https://github.com/espressif/newlib-esp32/blob/esp-4.3.0/newlib/libc/