Your module looks very well featured and configurable and choice is never bad.
Re tinyMQTT.js - it sets retain flag by default and some recent user contributions have (I think) addressed catching socket write fails, and stabilised reconnect functionality in general. The version on Espruino.com will be updated soon with the changes.
Beyond that, you are right, tinyMQTT support for the MQTT spec is limited.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Your module looks very well featured and configurable and choice is never bad.
Re tinyMQTT.js - it sets retain flag by default and some recent user contributions have (I think) addressed catching socket write fails, and stabilised reconnect functionality in general. The version on Espruino.com will be updated soon with the changes.
Beyond that, you are right, tinyMQTT support for the MQTT spec is limited.