From 66838a70f32380adaaa22f9ba0b6c25cc74470c7 Mon Sep 17 00:00:00 2001 From: Simon Goldschmidt Date: Mon, 17 Sep 2018 21:16:58 +0200 Subject: [PATCH] more documentation preparations for v2.1.0 release --- CHANGELOG | 81 +++++++++++++++++++++++++++++++++++++++++- UPGRADING | 34 ++++++++---------- src/include/lwip/opt.h | 12 +++++++ 3 files changed, 106 insertions(+), 21 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index bffea1a4..5775868a 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,10 +1,54 @@ HISTORY + * These are only the most important changes. For a full list, use git log: + http://git.savannah.nongnu.org/cgit/lwip.git (git master) * [Enter new changes just after this line - do not remove this line] +(STABLE-2.0.3) + ++ New features: + + 2018-06-17: Simon Goldschmidt + * lwiperf: implemented iPerf client mode + + 2018-04-23: Dirk Ziegelmeier + * added cmake build files + + 2018-03-04: Ray Abram + * netbios responder: respond to '*' queries + + 2018-02-23: Benjamin Aigner + * 6lowpan: add 6lowpan-over-BLE netif (based on existing 6lowpan netif) + + 2018-02-22: Simon Goldschmidt + * ipv6: add support for stateless DHCPv6 (to get DNS servers in SLAAC nets) + + 2018-02-16: Simon Goldschmidt + * add raw API http(s) client (with proxy support) + + 2018-02-01: Simon Goldschmidt + * tcp: add hooks to implement additional socket options + + 2018-02-01: Simon Goldschmidt + * tcp: add hooks to implement tcp md5 signatures or similar (see contrib/addons for an example) + + 2018-01-05: Simon Goldschmidt + * Added sys_mbox_trypost_fromisr() and tcpip_callbackmsg_trycallback_fromisr() + These can be used to post preallocated messages from an ISR to the tcpip thread + (e.g. when using FreeRTOS) + + 2018-01-02: Dirk Ziegelmeier + * task #14780: Add debug helper asserts to ensure threading/locking requirements are met + + 2017-11-21: Simon Goldschmidt + * task #14600: tcp_alloc(): kill TF_CLOSEPEND connections before other ESTABLISHED + + 2017-11-21: Simon Goldschmidt + * makefsdata: added option "-ssi:" to control SSI tag checking/insertion + through a list of filenames, not by checking the file extension at runtime + 2017-11-20: Joel Cunningham * netconn: add LWIP_HOOK_NETCONN_EXTERNAL_RESOLVE to use external DNS resolver (patch #9427) @@ -44,7 +88,7 @@ HISTORY * dhcp: added two hooks for adding and parsing user defined DHCP options 2017-04-25: Joel Cunningham - * sockets: added CMSG and IP_PKTINFO for use with recvmsg (task #14247) + * sockets: added recvmsg for UDP (together with CMSG and IP_PKTINFO) (task #14247) 2017-04-20: Joel Cunningham * tcp: added Appropriate Byte Counting support (task #14128) @@ -53,6 +97,13 @@ HISTORY * netconn/sockets: remove fatal error handling, fix asynchronous error handling, ensure data before RST can be received + 2017-03-30: Simon Goldschmidt + * added "application layered TCP" connection API (altcp) for seamless integration + of TLS or proxy connections + + 2017-03-09: Simon Goldschmidt + * sockets: add recvmsg for TCP + 2017-03-02: Joel Cunningham * netconn/sockets: vectorize netconn_write for TCP, treating a vectored I/O write atomically in regards to TCP segmentation (patch #8882) @@ -80,6 +131,34 @@ HISTORY ++ Bugfixes: + 2018-06-19: Simon Goldschmidt + * tcp: fix RTO timer not working if link is down + + 2018-06-15: Sylvain Rochet + * ppp: multiple smaller bugfixes + + 2018-05-17: Simon Goldschmidt + * etharp: arp table can now be bigger than 127 entries + + 2018-04-25: Jens Nielsen + * tftp server: correctly handle retransmissions + + 2018-04-18: Simon Goldschmidt + sockets: fix race conditions when closing full-duplex sockets + + 2018-03-09: Simon Goldschmidt + * 6lowpan: fix to work against contiki; added ZigBee encapsulation netif for tests + + 2018-02-04: Simon Goldschmidt + * sockets: fix inconsistencies on close (inconsistent error codes, double FIN) + + 2018-01-05: Dirk Ziegelmeier + * Fix bug #52748: the bug in timeouts.c by reimplementing timer logic to use + absolute instead of relative timeout values + + 2017-12-31: Dirk Ziegelmeier + * Fix bug #52704: DHCP and bad OFFER: Stop timeout only if offer is accepted + 2017-11-08: Joel Cunningham * netif: ensure link and admin states are up in issue reports (bug #52353) diff --git a/UPGRADING b/UPGRADING index eff0eba3..b20a7b6b 100644 --- a/UPGRADING +++ b/UPGRADING @@ -8,45 +8,39 @@ with newer versions. * [Enter new changes just after this line - do not remove this line] -(2.0.2) +(2.1.0) - * tcpip_trycallback() was renamed to tcpip_callbackmsg_trycallback() to avoid confusion - with tcpip_try_callback() + ++ Application changes: * TCP only kills existing connections with a LOWER priority than the one currently being opened. Previous implementations also kill existing connections of the SAME priority. - * ip4_route_src: parameter order is reversed: ip4_route_src(dest, src) -> ip4_route_src(src, dest) to make parameter order consistent with other ip*_route*() functions. Same also applies to LWIP_HOOK_IP4_ROUTE_SRC() parameter order. - * pbuf API: pbuf->type (an u8_t holding the enum 'pbuf_type') has changed to only hold a description of the pbuf (e.g. data following pbuf struct, data volatile, allocation source heap/pool/etc.). As a consequence, applications can't test pbuf->type any more. Use pbuf_match_type(pbuf, type) instead. - * socket API: according to the standard, SO_ERROR now only returns asynchronous errors. All other/normal/synchronous errors are (and always were) available via 'errno'. LWIP_SOCKET_SET_ERRNO has been removed - 'errno' is always set - and required! + * httpd LWIP_HTTPD_CGI_SSI: httpd_cgi_handler() has an additional parameter "struct fs_file *" + ++ Port changes: + + * tcpip_trycallback() was renamed to tcpip_callbackmsg_trycallback() to avoid confusion + with tcpip_try_callback() * compatibility headers: moved from 'src/include/posix' to 'src/include/compat/posix', 'src/include/compat/stdc' etc. - - * The IPv6 implementation now supports address scopes. All addresses that have a scope according - to the default policy (link-local unicast addresses, interface-local and link-local multicast - addresses) should now have a zone set on them before being passed to the core API, although - lwIP will currently attempt to select a zone on the caller's behalf when necessary. - Applications that directly assign IPv6 addresses to interfaces (which is NOT recommended) - must now ensure that link-local addresses carry the netif's zone. See the new ip6_zone.h header - file for more information and relevant macros. For now it is still possible to turn off scopes - support through the new LWIP_IPV6_SCOPES option. When upgrading an implementation that uses the - core API directly, it is highly recommended to enable LWIP_IPV6_SCOPES_DEBUG at least for - a while, to ensure e.g. proper address initialization. - + * The IPv6 implementation now supports address scopes. (See LWIP_IPV6_SCOPES documentation + and ip6_zone.h for more documentation) * LWIP_HOOK_DHCP_APPEND_OPTIONS() has changed, see description in opt.h (options_out_len is not available in struct dhcp any more) - - * httpd LWIP_HTTPD_CGI_SSI: httpd_cgi_handler() has an additional parameter "struct fs_file *" + * Added debug helper asserts to ensure threading/locking requirements are met (define + LWIP_MARK_TCPIP_THREAD() and LWIP_ASSERT_CORE_LOCKED()). + * Added sys_mbox_trypost_fromisr() and tcpip_callbackmsg_trycallback_fromisr() + These can be used to post preallocated messages from an ISR to the tcpip thread + (e.g. when using FreeRTOS) (2.0.2) diff --git a/src/include/lwip/opt.h b/src/include/lwip/opt.h index a14645fa..05a8dfd2 100644 --- a/src/include/lwip/opt.h +++ b/src/include/lwip/opt.h @@ -2382,6 +2382,18 @@ * LWIP_IPV6_SCOPES==1: Enable support for IPv6 address scopes, ensuring that * e.g. link-local addresses are really treated as link-local. Disable this * setting only for single-interface configurations. + * All addresses that have a scope according to the default policy (link-local + * unicast addresses, interface-local and link-local multicast addresses) should + * now have a zone set on them before being passed to the core API, although + * lwIP will currently attempt to select a zone on the caller's behalf when + * necessary. Applications that directly assign IPv6 addresses to interfaces + * (which is NOT recommended) must now ensure that link-local addresses carry + * the netif's zone. See the new ip6_zone.h header file for more information and + * relevant macros. For now it is still possible to turn off scopes support + * through the new LWIP_IPV6_SCOPES option. When upgrading an implementation that + * uses the core API directly, it is highly recommended to enable + * LWIP_IPV6_SCOPES_DEBUG at least for a while, to ensure e.g. proper address + * initialization. */ #if !defined LWIP_IPV6_SCOPES || defined __DOXYGEN__ #define LWIP_IPV6_SCOPES (LWIP_IPV6 && !LWIP_SINGLE_NETIF)