Skip to content

Releases: 1e1/Arduino-GoogleSchedular

4.1.0

Choose a tag to compare

@1e1 1e1 released this 05 Jul 22:46
8e9ffe4

Robustness, tooling and documentation release. Additive only — no breaking changes to the public API.

Added

  • Native (host) unit tests under test/, and a GitHub Actions CI: native tests on g++/clang++, example compilation on ESP8266 and ESP32, and arduino-lint.
  • Session persistence support (mechanism, not policy): isAuthInvalid() and lastAuthHttpCode() distinguish a rejected credential (HTTP 400 invalid_grant) from a transient failure; maintain() now self-recovers from a transient error and keeps the refresh_token for the sketch to own.
  • Persistent-install examples: wifi_persistent (ESP8266 / LittleFS) and wifi_persistent_esp32 (ESP32 / Preferences-NVS) — silent reconnect on boot, transient retry, re-pair on rejection, safe output state.
  • GoogleSchedular::isValidTimestamp() to validate an RFC3339 instant while debugging.

Changed

  • syncAt() takes the timestamp as const char* (zero-copy via TimestampNtp::c_str()), builds the query window on the stack (constant per-sync heap footprint — longevity on always-on devices), returns bool, and guards its preconditions. A String overload is kept for backward compatibility.

Fixed

  • Now compiles for ESP32 (ambiguous FPSTR(..) + String in the Authorization header).
  • Link-safe OAuth scope via scope() for pre-C++17 toolchains (AVR / gnu++11).
  • setCalendar() reports a network/parse failure as ERROR instead of silently staying AUTHENTICATED.
  • A malformed JSON body on an HTTP 200 is treated as a request failure.
  • Initializer-list order; uninitialized LED flag in the example.

Dependencies

  • FastTimer >= 3.1.0 (bundles TimestampNtp.hpp)
  • ArduinoJson >= 7.0.0

4.0.0

Choose a tag to compare

@1e1 1e1 released this 22 Aug 10:37
bf7684f
v4: migrate to FastTimer v3

3.0.2

Choose a tag to compare

@1e1 1e1 released this 19 Aug 12:57
83ecf0f
fix syncAt

3.0.1

Choose a tag to compare

@1e1 1e1 released this 05 Jul 22:50
9697952

fix example

3.0.0

Choose a tag to compare

@1e1 1e1 released this 05 Jul 22:50
e75246f

v3

2.1.2

Choose a tag to compare

@1e1 1e1 released this 05 Jul 22:50
4b8b3cd

refresh_token accessor

2.1.1

Choose a tag to compare

@1e1 1e1 released this 05 Jul 22:50
d3271af

small perfs improvements

2.1.0

Choose a tag to compare

@1e1 1e1 released this 05 Jul 22:50
c67bf36

add explicit state getters

2.0.0

Choose a tag to compare

@1e1 1e1 released this 05 Jul 22:50
6ad0ed4

v2 due to breaking changes

1.0.0

Choose a tag to compare

@1e1 1e1 released this 05 Jul 22:50
58ef9cd

first release