Skip to content

v3.8.0 - codename "Double M"

Compare
Choose a tag to compare
@slaff slaff released this 14 Apr 17:43
· 890 commits to develop since this release

We are happy to announce Sming version 3.8.0 - a new major release containing new features, improvements and bug fixes. This release is codenamed "Double M". Where "M" stands for high-quality major release. Thanks to @mikee47's and his fantastic work.

Some of the highlights in this release include:

  • a new WIFI Sniffer.
  • better live debugging support with support for GDB Host I/O and File I/O extensions.
  • better UART support
  • a new OS Message Interceptor that is helping the discovery of problems reported from the underlying system.
  • better SSL handling.
  • network improvements to FTP, Websocket, HTTP and MQTT protocols.
  • fixed formatting ranges on SPIFFS creation

A longer list with more details and merged PR is given below.

New features

  • Interceptor for system messages #1613
  • Introduce ObjectMap #1638
  • Add optional deferMillis parameter to System::restart() #1611
  • Expand SSLSessionId structure to manage allocated memory. #1614
  • Adafruit_SSD1306 library add support for 64 × 48 pixels OLED Shield #1622
  • WifiSniffer #1647

Improvements

  • GDB and exception handling improvements. #1655
  • A couple of general additions to uart driver for reporting error status and handling line breaks #1655
  • Better handling of out-of-memory issues in axTLS #1651
  • Add support for escaped URLs #1642
  • Refactor Ftp classes #1633
  • WebsocketConnection improvements #1632
  • DateTime fixes & improvements #1625
  • Add HttpClientConnection class #1624
  • Improve memory management of SSL fingerprint data #1618
  • Http connection base improvements #1601
  • Improvements to the ssl structure management #1600 #1606
  • General tidy of Netutils module #1599
  • HttpServer_Websockets sample: wait 1 second before calling server.shutdown() #1598
  • TCP improvements #1595
  • StreamTransformer improvements #1593
  • Change use of ReadWriteStream* to IDataSourceStream* where appropriate #1588
  • Change fileSetContent() to return a result #1657

Bug fixes

  • Fixes to the SPIFFS size calculation. #1653
  • Fix map() bug in WMath.cpp #1636
  • Fix: HttpConnection memory leak #1639
  • Fix: HardwareSerial interrupt callback code not in IRAM #1610
  • Fix mqtt fifo memleak #1612
  • Fix file stream size tracking #1608
  • Fix signed/unsigned bug introduced in #1599 and highlighted by codacy #1605
  • MqttClient memory leak #1594
  • Updated the mqtt-codec version with fixes to the remaining length cal… #1591
  • Revert to default MAC string format for getMAC method... #1584 #1583
  • Do not flash blankfs.bin if SPIFFS is disabled #1586
  • Fix for the compilation of esp-gdbstub with SDK 3.0.0 in strict mode. #1582
  • MqttClient bugfix: payloadStream discarded #1587
  • SPIFFS updated to its latest version #1664

Coding style

  • Ensure all core code has standard header and consistent guard naming #1630
  • Enforce code deprecation and virtual methods
    #1629
  • Coding style changes: deprecated and override #1620
  • Switched to clang-format v6 #1589

All PRs that were merged in this release can be seen from here
For a complete list of changes run the following command:

git log 3.7.1..3.8.0

Thanks to everyone who helped us make this release happen and especially to @mikee47 for working so hard on multiple improvements and bug fixes!