Skip to content

0.18.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@ssilverman ssilverman released this 11 Feb 00:23
· 806 commits to master since this release

Added

  • Added a "Notes on ordering and timing" section to the README.
  • Added a README section that discusses EthernetClient::connect() and its return values.
  • Added non-blocking TCP connection functions, connectNoWait(), that are equivalent to the connect() functions but don't wait for the connection to complete.
  • Added EthernetUDP::beginWithReuse() and beginMulticastWithReuse() functions to replace the corresponding begin-with-reuse-parameter versions.
  • Added printing the link speed and duplex in the IPerfServer example.
  • Added an "Asynchronous use is not supported" section to the README.
  • New EthernetClass::onInterfaceStatus(callback) and interfaceStatus() functions for tracking the network interface status.
  • Added a check to ensure lwIP isn't called from an interrupt context.

Changed

  • Wrapped LWIP_MDNS_RESPONDER option in lwipopts.h with #ifndef and added it to the README.
  • Made EthernetClass::loop() non-static.
  • Changed serial output in examples to use CRLF line endings.
  • Changed EthernetClient::connect() internals to call close() instead of stop() so that any cleanup doesn't block.
  • Updated EthernetClient::connect() to return some of the error codes defined at Ethernet - client.connect().
  • Changed EthernetServer::begin()-with-Boolean-reuse-parameters to be named beginWithReuse(). This avoids too many overloads with mysterious Boolean arguments.
  • Changed EthernetServer::operator bool() to be const.
  • Changed EthernetServer::end() to return void instead of bool.
  • Changed MDNSClass::begin(hostname) and DNSClient::getHostByName() to treat a NULL hostname as an error; they now explicitly return false in this case.
  • Changed MDNSClass::end() to return void instead of bool.
  • Changed examples that use unsigned char to use uint8_t in appropriate places.
  • EthernetUDP::begin functions now call stop() if the socket is listening and the parameters have changed.
  • MDNSClass::begin(hostname) now calls end() if the responder is running and the hostname changed.
  • Changed both EthernetServer and EthernetUDP to disallow copying but allow moving.
  • Changed raw frame support to be excluded by default. This changed the QNETHERNET_DISABLE_RAW_FRAME_SUPPORT macro to QNETHERNET_ENABLE_RAW_FRAME_SUPPORT.
  • Changed tcp_pcb member accesses to use appropriate TCP API function calls. This fixes use of the altcp API.

Removed

  • EthernetServer and EthernetUDP begin functions that take a Boolean reuse parameter.

Fixed

  • EthernetUDP::begin functions now call stop() if there was a bind error.
  • Fixed EthernetClient::setNoDelay(flag) to actually use the flag argument. The function was always setting the TCP flag, regardless of the value of the argument.
  • Fixed printing unknown netif name characters in some debug messages.
  • Fixed EthernetClient::connect() and close() operations to check the internal connection object for NULL across yield() calls.
  • Fixed lwip_strerr() buffer size to include the potential sign.
  • Don't close the TCP pcb on error since it's already been freed.