v1.23-2 - New features and fixes
-
Features:
- Option in httpclient to silence error messages for PUT queries for a specified amount of time
- New topic_filter_invert option
- Support message expiry interval in v5 in MQTT broker
- Set retain flag and expiry interval in MQTT client
- Set will messages in MQTT client
- Control subscriptions in MQTT client by sending in command messages
- Control the tidy interval of the cacher module per configuration parameter
-
Improvements:
- Files in message database stored in a tree structure based on their hash filename for performance.
- Asynchrounous operation in message DB for better performance with very large DBs
- Tidy and revive intervals in cacher is calculated from the last completion of each of these processes.
-
Fixes:
- Prevent HTTP client from getting killed of if there are a lot of connection errors
- Deadlock in mmap channel due to incorrect use of lock() instead of trylock()
- Lockup in cmodules in high traffic situations
- Sometimes temporary lockup in HTTP-server if there is not immediate downstream response to an h2c upgrade.
- Poor hard timeout management in MQTT broker causing low-traffic clients to be kicked
- Fix buffer overflow in httpclient when wide characters were given to an urlencoder function.
- Fix random crashes in message DB when zero length files were found.
-
Under the hood:
- Cleanups in MQTT framework