Skip to content

Releases: philbowles/PangolinMQTT

Final API

21 Dec 19:18
Compare
Choose a tag to compare

Release Notes v1.0.0
Bug Fixes
getMaxPayloadSize changed to call ESP.getMaxBlockSize to minimise effcets of memory fragmentation

New features
new error / conditions (mostly call when DCX)

New xPublish variants provide some very useful additional functionality (for people who understand how they work) depending on what exactly you want the payload to represent to your app. They allow you to safely handle common data formats without any extra fiddly code of your own that everybody does need when using the bog-standard publish API.

All xPublish variants convert the supplied data type to a buffer address + length (just as you would have to do yourself using the bog-standard publish API) which then allows you to use the matching xPayload call to unpack the correct type in a memory-safe and consistent manner. If you don't understand the above, stick to the simple publish API.

Changes
Breaking
The API has been revamped to provide a logical, consistent and correct API which unfortunately breaks compatibility with the APIs of some other libraries...

Several calls have been changed. Many of the "features" were included solely for early-adopter compatibility with incorrect / illogical "features" of "that other library"

In summary:

all references to msg ID have been removed
redundant properties structures removed (sub-fields are now simply their own callback parameters)
connected() has been removed to prevent incorrectly structured code from breaking. It was never required for correct functionlity anyway
Non-breaking
all "fatal" lockup conditions removed - now causes error code optimised

almost all references to / comparisons with "that other library" have been removed. The major effect on this is that the examples have been heavily mdofied / restructured to run only PangolinMQTT. It should now be just a bad memory.

Deletions
The publish command has had various helpful overloads removed. That functionality has been replaced by various overloads of the xPublish function. The 'x' stands for "expert" so only use these if you fully understand the consequences and make sure you read Payload Handling first. all payloadToxxx funtions (replaced by new xPayload functions) connected redundant error conditions

ESP32 bugfix, Added TLS and STM32 targets

04 Jul 10:30
Compare
Choose a tag to compare

Release Notes v0.0.8


Bug Fixes

  • ESP32 ACK problem

New features


Changes

Breaking

None this time, but be warned that the illogical and incorrect API inherited from AsyncMqttClient will be fixed soon.

Non-breaking

options.h file updated to compile automatically for ESP8266 / ESP32 targets and easy include/exclude of TLS

Quickstart_P sketch updated to be ESp32 compatible


Deletions

N/A


(C) 2020 Phil Bowles

Initial public beta

30 Jun 08:54
Compare
Choose a tag to compare

Stable in all tests, but waiting for user feedback before moving out of beta