Mongoose Web Server version 7.8 released

Dublin, August 29th, 2022 — Cesanta today announced release of Mongoose Embedded Web Server Library v.7.8.

Overview

This is a bugfix and cleanup release. A significant number of small issues were fixed, some documentation and examples improved. Among them:

  • Introduced c->is_resp flag for the server-side HTTP connections, for correctly handling pipelined requests that can span several event handler invocations
  • Reduced default MG_HTTP_MAX_HEADERS from 40 to 30 to reduce embedded stack usage
  • Added server and client native JSON-RPC support, see https://mongoose.ws/documentation/#rpc
  • Enhanced example/device-dashboard to show real time graph, MQTT communication and user authentication
  • Added a large number of new tutorials and enhanced existing ones: https://mongoose.ws/tutorials/
  • Added an ability to specify MG_ARCH in mongoose_custom.h
  • Introduced mg_*xprintf formatting functions, https://mongoose.ws/documentation/#mg_xprintf-mg_vxprintf
  • Changed logging to use mg_pfn_t primitive
  • Added tests for large WS frames
  • Added unit tests for auto-gzipped static content
  • Enhanced SNTP time calculation, made it more accurate
  • Refactored MG_EV_HTTP_CHUNK handling, made it more robust and resilient
  • Added epoll support for linux targets
  • Changed mg_log_set(level) : debug level is now an int, not const char *
  • Made fixes for poll() support, added poll() support for Windows, made it default to avoid FD_SETSIZE restrictions
  • Added initial support for RP2040
  • Exported MQTT result code definitions
  • Added MQTT5 support
  • Added native JSON API. Now external JSON libraries are not required: https://mongoose.ws/documentation/#json
  • Enhancements to the MIP TCP/IP stack. The bare metal nucleo-f746 example works with device dashboard: HTTP UI, MQTT, Websocket
  • Added examples/uart-bridge, examples/sntp-time-sync, and many others
  • Added automatic PUBACK responses for MQTT qos > 0
  • Added mg_ws_printf()
  • Implemented automatic pre-compressed .gz handling for static files
  • Added mg_http_serve_opts::page404 for custom 404 handling
  • Added udp/tcp flag for mg_mkpipe()

To contact: send us a message or ask on the developer forum.