Releases: ktos/Mokosh
Releases · ktos/Mokosh
Version 2.0.0-pre
What's Changed
Introducing, hugely rewritten and rearchitectured, Mokosh version 2.0.0.
BREAKING CHANGES
LogLevel
instead ofDebugLevel
,- RemoteDebug is not a required dependency,
- prefix is set in a constructor, not in
begin()
, setConfigFile(false)
is removed, there is an option in constructor to not use LittleFS,- MDNS and OTA are moved to separate services,
- things related to Wi-Fi connection are moved into a separate service,
- things related to MQTT (publishing/subscribing) are moved into a separate service.
Features
- A new modular service system: services as a classes which are automatically "looped",
- DebugAdapters, a new system where old macros like
mdebugV
are now publishing to different listeners,SerialDebugAdapter
is included by default,RemoteDebug
will be facaded withTelnetDebugAdapter
in the future, - Commands received by MQTT or from some other services, are now divided into command and parameters,
- Built-in methods for retrying operations are introduced.
Full Changelog: v0.9.0...v2.0.0-pre
Version 0.9.0
- Added message handler allowing to react to any kind of MQTT message on any topic,
- Added handling messages on RemoteDebug's Telnet session as if they were send my MQTT, so any kind of standard command still works,
- Added support for multiple SSIDs,
- Added warnings on running some functions after
begin()
if they are not supposed to, - Added a possibility to register interval functions after
begin()
, - Added a support for timeouted (one-shot) functions.
Version 0.8.0
- Switch to TickTwo instead of having internal array for interval functions,
onInterval
was removed,registerIntervalFunction
is now used (BREAKING CHANGE), - MokoshError is now enum,
- Templates are used (e.g.
get<String>
) instead of regular functions in getting the configuration values (BREAKING CHANGE).
Version 0.7.3
- Change IP Address message to have a retained flag (BREAKING CHANGE).
Version 0.7.2
- add showing line and file information in debug output
Version 0.7.1
- fix getting ChipID on ESP32,
- switch to using LittleFS on both ESP32 and ESP8266 (BREAKING CHANGE).
Version 0.7.0
- Switched to the own fork of RemoteDebug, to remove WebSockets debugging (BREAKING CHANGE).
Version 0.6.0
- Updated the library interface to use a more standardized naming of functions (BREAKING),
- Allowed daisy-chaining for
set*
functions, - Added a possibility to use MDNS without OTA.
Version 0.5.0
A huge release, with a breaking change in the way how configuration is handled.
- Added
library.json
for compatibility with PlatformIO, - Enabled reset option in RemoteDebug,
- Reverted to SPIFFS instead of LittleFS on ESP32 because of backward compatibility issues (especially on PlatformIO),
- Added support for ArduinoOTA,
- Added possibility to ignore connection errors,
- Fixed crashing when a nonexisting key was accessed in reading configuration,
- Fixed
mdebug
macros to work properly even if RemoteDebug is not configured, - Changed into using JSON as a configuration source, renamed classes, changed public API, removed MokoshConfiguration struct (BREAKING),
- Changed into the usage of
std::function
instead of C-style callbacks, - Added ability to disable automatic Wi-Fi connection and use custom Client, e.g. GSM,
- Added ability to use custom client id in MQTT connection,
- Added a possibility to override existing function registered with
onInterval
, - Changed constants into
char*
instead ofString
(BREAKING), - Added a possibility to use a domain name for MQTT broker instead of IP.
Also new CI system using GitHub Actions and PlatformIO has been introduced.
Version 0.4.1
Changes:
- Add automatic reconnecting on message publish