Skip to content

Releases: Pulsync/pulsync-arduino

v0.2.7

Choose a tag to compare

@vineethraik vineethraik released this 06 Sep 17:04

Local-first server discovery + explicit server mode.

  • Auto-discovery now probes the local LAN server (pulsync.local via mDNS) before the hosted cloud (pulsync.in). Self-hosting is the common case; the extra local probe only adds a small delay for a cloud-only device on its first boot (it latches its server after that).
  • New setServerMode(Pulsync.LOCAL | Pulsync.CLOUD | Pulsync.AUTO) — hard override to a tier (no discovery/fallback).
  • setServer("host:port") still has the highest precedence for pinning an exact server.
  • Precedence: setServer > setServerMode > captive-portal/NVS server > AUTO discovery.

v0.2.6

Choose a tag to compare

@vineethraik vineethraik released this 05 Sep 21:56

Keep the Library Manager name as Pulsync (rename request withdrawn). Reverts the v0.2.5 name=PulSync change so the latest release matches the registered name and indexes cleanly. No functional change.

Arduino IDE: Sketch → Include Library → Add .ZIP Library → Pulsync-0.2.6.zip.
PlatformIO: lib_deps = https://github.com/pulsync/pulsync-arduino.git#v0.2.6

v0.2.5

Choose a tag to compare

@vineethraik vineethraik released this 05 Sep 21:23

Set the Library Manager display name to PulSync (camelCase) to match the brand. No functional change — the include stays #include <Pulsync.h> and the class stays PulsyncClass for compatibility.

Note: the registry name is locked after initial registration, so this display-name change is being requested via the Arduino library-registry maintainers.

v0.2.4

Choose a tag to compare

@vineethraik vineethraik released this 05 Sep 21:11

Accurate library description for Arduino Library Manager submission: the metadata now reflects the real transport (MQTT live link; HTTP for enrollment and OTA) instead of the aspirational WSS/MQTTS/HTTPS chain, and notes multi-network WiFi + captive portal and OTA rollback. ESP32-only. No functional code change from v0.2.3.

Arduino IDE: Sketch → Include Library → Add .ZIP Library → Pulsync-0.2.4.zip.
PlatformIO: lib_deps = https://github.com/pulsync/pulsync-arduino.git#v0.2.4

v0.2.2

Choose a tag to compare

@vineethraik vineethraik released this 05 Sep 08:16

Local HTTP default port changed to 3456 (was 3000/3001) to avoid collisions with common dev servers and match the Pulsync server's new default. MQTT ports unchanged.

Arduino IDE: Sketch → Include Library → Add .ZIP Library → Pulsync-0.2.2.zip.
PlatformIO: lib_deps = https://github.com/pulsync/pulsync-arduino.git#v0.2.2

v0.2.1

Choose a tag to compare

@vineethraik vineethraik released this 05 Sep 07:18

Local HTTP default port changed from 3001 to 3000 to match the Pulsync server's default. setServer("pulsync.local") or a bare IP now resolves to port 3000. MQTT ports unchanged. Docs/comments updated.

Install (Arduino IDE): Sketch → Include Library → Add .ZIP Library → select Pulsync-0.2.1.zip.
PlatformIO: lib_deps = https://github.com/pulsync/pulsync-arduino.git#v0.2.1

v0.2.0

Choose a tag to compare

@vineethraik vineethraik released this 04 Sep 12:40

First substantive release of the Pulsync ESP32 Arduino library.

Features

  • Non-blocking scheduler — setTimeout/setInterval/clearTimeout/clearInterval.
  • WiFi manager — up to 3 networks, persistent priority list, auto-reconnect with backoff.
  • Cloud transport — WSS → MQTTS → HTTPS fallback chain.
  • Enrollment + heartbeat — pairing-code enrollment, token in NVS, credential rotation.
  • OTA — ESP-IDF OTA with rollback; numeric version ordering; per-device force-attach.
  • Captive portal — first-boot enroll form + a config menu (add/remove/reorder WiFi, change server).
  • Server discovery — zero-config cloud (pulsync.in) → local (pulsync.local via mDNS) failover.

New in this release

  • Config-portal password gate — once enrolled, the on-device config menu requires a server-issued password (offline SHA-256 check, session cookie). Fresh/unenrolled devices stay open (pairing code is the gate).
  • Re-pair action — move a device to a new pairing code from the config menu; clears the token and re-enrolls for a fresh token + config password.
  • Portal AP bring-up hardening + DNS-task lifecycle fixes.

Install (PlatformIO)

```ini
lib_deps = https://github.com/Pulsync/pulsync-arduino.git
```

Install (Arduino IDE)

Sketch → Include Library → Add .ZIP Library → select `pulsync-0.2.0.zip`.