]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/History.txt
Update version number in readiness for V10.3.0 release. Sync SVN with reviewed releas...
[freertos] / FreeRTOS-Plus / Source / FreeRTOS-Plus-TCP / History.txt
index 52565cc86b814329943427fbd6882b79f0e85d90..0bbfaa505fd7bbea87c5264e78b5b4168a21cc77 100644 (file)
-Changes between 160919 and 180821 releases:\r
-\r
-       + Multiple security improvements and fixes in packet parsing routines, DNS\r
-         caching, and TCP sequence number and ID generation.\r
-       + Disable NBNS and LLMNR by default.\r
-       + Add TCP hang protection by default.\r
-\r
-We thank Ori Karliner of Zimperium zLabs Team for reporting these issues.\r
-\r
-Changes between 160908 and 160919 releases:\r
-\r
-       + Add a NULL check before attempting to close the DHCP socket.  [Prior to\r
-         160823 the IP task closed the DHCP socket by calling a public API function\r
-         - which checked for the socket being NULL.  This was changed to call a\r
-         local private function, which did not have a NULL check, in place of the\r
-         public API function.]\r
-       + Various [internal only] naming changes to better comply with the FreeRTOS\r
-         naming conventions.\r
-       + Improvements to the Zynq network driver.  DMA transmission buffers now use\r
-         a counting semaphore. When all TX-buffers are in-use, the IP-task will\r
-         block momentarily until a TX-buffer becomes available.\r
-       + Experimental implementation of the TCP window scaling protocol.  The\r
-         scaling option will always be offered, at least with a factor 1. If the\r
-         TCP sliding window size becomes more than 64KB, the factor will increase\r
-         automatically.\r
-       + ipconfigETHERNET_MINIMUM_PACKET_BYTES is now applied for every protocol:\r
-         TCP, UDP, and ARP.\r
-       + Updated the Zynq project to use BufferAllocation_1.c rather than\r
-         BufferAllocation_2.c - which is a requirement with its current\r
-         configuration (due to the alignment requirements on the combined cache and\r
-         DMA configuration).\r
-\r
-Changes between 160823 and 160908 releases:\r
-\r
-       + Use ipconfigZERO_COPY_TX_DRIVER as the xReleaseAfterSend() parameter where\r
-         prvTCPReturnPacket() is called in prvSendData() to prevent unnecessary\r
-         copying of data.\r
-       + Remove the use of the uxGetRxEventCount variable, which was used to give\r
-         priority to incoming messages, but could result in the IP task starving\r
-         application tasks of processing time.\r
-\r
-Changes between 160112 and 160823 releases\r
-\r
-       NOTE:  The 160908 release is a maintenance release for the 160112 single\r
-       interface labs release - not a release of the current development branch.\r
-\r
-       + Various minor stability enhancements, including the ability to work with\r
-         configTICK_RATE_HZ set to less than 1KHz, closing DHCP sockets directly\r
-         rather than via FreeRTOS_closesocket(), and better handling of unknown\r
-         TCP packets before an IP address has been assigned.\r
-       + ipBUFFER_PADDING is now configurable through the ipconfigBUFFER_PADDING\r
-         constant to improve network buffer alignment handling capabilities (expert\r
-         users/driver writers only).\r
-       + Multiple improvements to the FTP server, including to how read only and\r
-         zero length files are handled.\r
-       + ipconfigFTP_HAS_USER_PROPERTIES_HOOK (to allow each user to have a\r
-         different root directory and access rights) and\r
-         ipconfigHTTP_HAS_HANDLE_REQUEST_HOOK (to handle AJAX style data)\r
-         introduced, although these are not yet fully tested and the constant names\r
-         are likely to change.\r
-       + Introduce ipconfigHAS_TX_CRC_OFFLOADING.\r
-       + ipconfigUSE_DHCP_HOOK is now called ipconfigUSE_DHCP_HOOK, and the name\r
-         of the callback function has also changed.  See the web documentation for\r
-         details.\r
-       + ipconfigTCP_RX_BUF_LEN is now ipconfigTCP_RX_BUFFER_LENGTH, and\r
-         ipconfigTCP_TX_BUF_LEN is now ipconfigTCP_TX_BUFFER_LENGTH, which is\r
-         actually how they have always been documented.\r
-       + Added example TFTP server capable of receiving (not sending) files.\r
-         Intended for bootloader type functionality.\r
-       + Various variable name changes for consistency (mainly ensuring UDP, TCP,\r
-         DNS, etc. always use the same case letters, and type prefixes are correct).\r
-       + Various minor edits to improve types used by internal variables.\r
-       + Simplified mapping of standard library functions to their Visual Studio\r
-         equivalents.\r
-       + Improve robustness of network drivers.\r
-       + Introduce pxResizeNetworkBufferWithDescriptor().\r
-       + Removed obsolete FreeRTOSIPConfig.h constants from\r
-         FreeRTOSIPConfigDefaults.h.\r
-       + Added additional asserts() - predominantly to catch incorrect structure\r
-         packing.\r
-\r
-Changes between 160112 and 160111 releases\r
-\r
-       + Updated the STM32 network driver so checksums are calculated by the\r
-         hardware.\r
-       + Implemented a simple "quit" command in the TCP command console.\r
-\r
-Changes between 150825 and 160111 releases\r
-\r
-       + New device support:  Demo applications and example drivers are provided\r
-         for Atmel SAM4E and ST STM32F4 microcontrollers.\r
-       + Various updates to improve compliance with the FreeRTOS coding standard.\r
-       + Added a command console example that uses TCP/IP for input and output (the\r
-         pre-existing command console example uses UDP/IP).\r
-       + Updated the UDP logging example so it will send log messages to the local\r
-         UDP broadcast address if a specific IP address is not provided.  This\r
-         simplifies configuration, but note not all switches and routers will pass\r
-         broadcast messages.\r
-       + Add TCP echo client and TCP echo server examples to the Zynq demo.\r
-       + Minor updates to the Zynq network driver.\r
-       + Update the Zynq project to use version 2015.4 of the Xilinx SDK.\r
-       + Introduce FreeRTOS_SignalSocket(), which can be used to interrupt a task\r
-         that is blocked while reading from a socket ( FreeRTOS_recv[from] ).\r
-       + Make use of FreeRTOS_SignalSocket() in the FTP and HTTP servers.\r
-       + Major updates to the NTP client, although this is not included in any of\r
-         the pre-configured demo applications yet.\r
-       + Added support for DHCP zero pad option.\r
-       + Added uxGetMinimumIPQueueSpace(), a function to monitor the minimum amount\r
-         of space on the message queue.\r
-       + Better handling of zero length files in the FTP server.\r
-       + Fixed a bug reported by Andrey Ivanov from swissEmbedded that affects\r
-         users of 'ipconfigZERO_COPY_TX_DRIVER'.\r
-\r
-\r
-Changes between 150825 150825 (?)\r
-\r
-       + Added xApplicationDHCPUserHook() so a user defined hook will be\r
-         called at certain points in the DHCP process if\r
-         ipconfigDHCP_USES_USER_HOOK is set to 1.\r
-       + Added FreeRTOS_get_tx_head() to improve TCP zero copy behaviour - for\r
-         expert use only.\r
-       + RST is no longer sent if only the ACK flag is set.\r
-       + Previously, an immediate ACK was only sent when buffer space was\r
-         exhausted.  Now, to improve performance, it is possible to send an\r
-         immediate ACK earlier - dependent on the ipconfigTCP_ACK_EARLIER_PACKET\r
-         setting.\r
-       + LLMNR and NBNS requests can now be sent to locate other devices -\r
-         previously these protocols would only be replied to, not generated.\r
-       + Added Auto-IP functionality (still in test) in case DHCP fails.  Dependent\r
-         on the ipconfigDHCP_FALL_BACK_LINK_LAYER_ADDRESS and\r
-         ipconfigARP_USE_CLASH_DETECTION settings.\r
-       + Added NTP code and demo.\r
-       + FTP can now STOR and RETR zero-length files.\r
-       + Added LLMNR demo to Win32 demo - so now the Win32 responds to\r
-         "ping RTOSDemo".\r
-\r
-Changes between 141019 and 150825\r
-\r
-       + Added FTP server, which uses the new FreeRTOS+FAT component.\r
-       + Added basic HTTP server, which uses the new FreeRTOS+FAT component.\r
-       + Multiple definitions that are now common with FreeRTOS+FAT have been moved\r
-         into FreeRTOS's ProjDefs.h header file, and so prefixed with 'pd'.\r
-       + Introduced ipconfigZERO_COPY_TX_DRIVER, which defines who is responsible\r
-         for freeing a buffer sent to to the MAC driver for transmission, and\r
-         facilitates the development of zero copy drivers.\r
-       + Introduced the FREERTOS_MSG_DONTWAIT flag.  The flag can be used as a\r
-         simpler and faster alternative to using FreeRTOS_setsockopt() to set the\r
-         send or receive timeout to 0.\r
-       + A few functions that were previously all lower case are now mixed case, as\r
-         lower case function names are only used when they are equivalent to a\r
-         a Berkeley sockets API function of the same name.\r
-       + Introduced uxGetMinimumFreeNetworkBuffers() to return the minimum number\r
-         of network buffers that have ever existed since the application started\r
-         executing.\r
-       + Introduce ipconfigETHERNET_MINIMUM_PACKET_BYTES to allow the application\r
-         writer to set their own minimum buffer size should the hardware not be\r
-         capable of padding under-sized Ethernet frames.\r
-       + vNetworkBufferRelease() renamed vReleaseNetworkBuffer() - just for\r
-         consistency with the names of other functions in the same file.\r
-       + Grouped DHCP status data into a structure.\r
-       + DHCP is now tried both with and without the broadcast flag.\r
-       + Replaced occurrences of configASSERT_VOID() with configASSERT().\r
-       + ipconfigDNS_USE_CALLBACKS introduced to allow FreeRTOS_gethostbyname() to\r
-         be used without blocking.\r
-       + Fix: LLMNR and NBNS behaviour when the reply is in a larger buffer than the\r
-         request, and BufferAllocation_2 was used.\r
-       + Introduced ipMAX_IP_TASK_SLEEP_TIME to allow the application writer to\r
-         override the default value of 10 seconds.\r
-       + Fix:  Correct error in *pxUDPPayloadBuffer_to_NetworkBuffer().\r
-       + FreeRTOS_recv() now recognises the FREERTOS_ZERO_COPY flag, which, when\r
-         set, the void *pvBuffer parameter is interpreted as void **pvBuffer.\r
-       + FreeRTOS_listen() now returns an error code.  Previously it always\r
-         returned 0.\r
-       + Fix:  Previously if a listening socket was reused, and a connection\r
-         failed, the TCP/IP stack closed the socket, now the socket is correctly\r
-         left unclosed as it is owned by the application.\r
-       + Various other formatting and minor fix alterations.\r
+Changes between 160919 and 180821 releases:
+
+       + Multiple security improvements and fixes in packet parsing routines, DNS
+         caching, and TCP sequence number and ID generation.
+       + Disable NBNS and LLMNR by default.
+       + Add TCP hang protection by default.
+
+We thank Ori Karliner of Zimperium zLabs Team for reporting these issues.
+
+Changes between 160908 and 160919 releases:
+
+       + Add a NULL check before attempting to close the DHCP socket.  [Prior to
+         160823 the IP task closed the DHCP socket by calling a public API function
+         - which checked for the socket being NULL.  This was changed to call a
+         local private function, which did not have a NULL check, in place of the
+         public API function.]
+       + Various [internal only] naming changes to better comply with the FreeRTOS
+         naming conventions.
+       + Improvements to the Zynq network driver.  DMA transmission buffers now use
+         a counting semaphore. When all TX-buffers are in-use, the IP-task will
+         block momentarily until a TX-buffer becomes available.
+       + Experimental implementation of the TCP window scaling protocol.  The
+         scaling option will always be offered, at least with a factor 1. If the
+         TCP sliding window size becomes more than 64KB, the factor will increase
+         automatically.
+       + ipconfigETHERNET_MINIMUM_PACKET_BYTES is now applied for every protocol:
+         TCP, UDP, and ARP.
+       + Updated the Zynq project to use BufferAllocation_1.c rather than
+         BufferAllocation_2.c - which is a requirement with its current
+         configuration (due to the alignment requirements on the combined cache and
+         DMA configuration).
+
+Changes between 160823 and 160908 releases:
+
+       + Use ipconfigZERO_COPY_TX_DRIVER as the xReleaseAfterSend() parameter where
+         prvTCPReturnPacket() is called in prvSendData() to prevent unnecessary
+         copying of data.
+       + Remove the use of the uxGetRxEventCount variable, which was used to give
+         priority to incoming messages, but could result in the IP task starving
+         application tasks of processing time.
+
+Changes between 160112 and 160823 releases
+
+       NOTE:  The 160908 release is a maintenance release for the 160112 single
+       interface labs release - not a release of the current development branch.
+
+       + Various minor stability enhancements, including the ability to work with
+         configTICK_RATE_HZ set to less than 1KHz, closing DHCP sockets directly
+         rather than via FreeRTOS_closesocket(), and better handling of unknown
+         TCP packets before an IP address has been assigned.
+       + ipBUFFER_PADDING is now configurable through the ipconfigBUFFER_PADDING
+         constant to improve network buffer alignment handling capabilities (expert
+         users/driver writers only).
+       + Multiple improvements to the FTP server, including to how read only and
+         zero length files are handled.
+       + ipconfigFTP_HAS_USER_PROPERTIES_HOOK (to allow each user to have a
+         different root directory and access rights) and
+         ipconfigHTTP_HAS_HANDLE_REQUEST_HOOK (to handle AJAX style data)
+         introduced, although these are not yet fully tested and the constant names
+         are likely to change.
+       + Introduce ipconfigHAS_TX_CRC_OFFLOADING.
+       + ipconfigUSE_DHCP_HOOK is now called ipconfigUSE_DHCP_HOOK, and the name
+         of the callback function has also changed.  See the web documentation for
+         details.
+       + ipconfigTCP_RX_BUF_LEN is now ipconfigTCP_RX_BUFFER_LENGTH, and
+         ipconfigTCP_TX_BUF_LEN is now ipconfigTCP_TX_BUFFER_LENGTH, which is
+         actually how they have always been documented.
+       + Added example TFTP server capable of receiving (not sending) files.
+         Intended for bootloader type functionality.
+       + Various variable name changes for consistency (mainly ensuring UDP, TCP,
+         DNS, etc. always use the same case letters, and type prefixes are correct).
+       + Various minor edits to improve types used by internal variables.
+       + Simplified mapping of standard library functions to their Visual Studio
+         equivalents.
+       + Improve robustness of network drivers.
+       + Introduce pxResizeNetworkBufferWithDescriptor().
+       + Removed obsolete FreeRTOSIPConfig.h constants from
+         FreeRTOSIPConfigDefaults.h.
+       + Added additional asserts() - predominantly to catch incorrect structure
+         packing.
+
+Changes between 160112 and 160111 releases
+
+       + Updated the STM32 network driver so checksums are calculated by the
+         hardware.
+       + Implemented a simple "quit" command in the TCP command console.
+
+Changes between 150825 and 160111 releases
+
+       + New device support:  Demo applications and example drivers are provided
+         for Atmel SAM4E and ST STM32F4 microcontrollers.
+       + Various updates to improve compliance with the FreeRTOS coding standard.
+       + Added a command console example that uses TCP/IP for input and output (the
+         pre-existing command console example uses UDP/IP).
+       + Updated the UDP logging example so it will send log messages to the local
+         UDP broadcast address if a specific IP address is not provided.  This
+         simplifies configuration, but note not all switches and routers will pass
+         broadcast messages.
+       + Add TCP echo client and TCP echo server examples to the Zynq demo.
+       + Minor updates to the Zynq network driver.
+       + Update the Zynq project to use version 2015.4 of the Xilinx SDK.
+       + Introduce FreeRTOS_SignalSocket(), which can be used to interrupt a task
+         that is blocked while reading from a socket ( FreeRTOS_recv[from] ).
+       + Make use of FreeRTOS_SignalSocket() in the FTP and HTTP servers.
+       + Major updates to the NTP client, although this is not included in any of
+         the pre-configured demo applications yet.
+       + Added support for DHCP zero pad option.
+       + Added uxGetMinimumIPQueueSpace(), a function to monitor the minimum amount
+         of space on the message queue.
+       + Better handling of zero length files in the FTP server.
+       + Fixed a bug reported by Andrey Ivanov from swissEmbedded that affects
+         users of 'ipconfigZERO_COPY_TX_DRIVER'.
+
+
+Changes between 150825 150825 (?)
+
+       + Added xApplicationDHCPUserHook() so a user defined hook will be
+         called at certain points in the DHCP process if
+         ipconfigDHCP_USES_USER_HOOK is set to 1.
+       + Added FreeRTOS_get_tx_head() to improve TCP zero copy behaviour - for
+         expert use only.
+       + RST is no longer sent if only the ACK flag is set.
+       + Previously, an immediate ACK was only sent when buffer space was
+         exhausted.  Now, to improve performance, it is possible to send an
+         immediate ACK earlier - dependent on the ipconfigTCP_ACK_EARLIER_PACKET
+         setting.
+       + LLMNR and NBNS requests can now be sent to locate other devices -
+         previously these protocols would only be replied to, not generated.
+       + Added Auto-IP functionality (still in test) in case DHCP fails.  Dependent
+         on the ipconfigDHCP_FALL_BACK_LINK_LAYER_ADDRESS and
+         ipconfigARP_USE_CLASH_DETECTION settings.
+       + Added NTP code and demo.
+       + FTP can now STOR and RETR zero-length files.
+       + Added LLMNR demo to Win32 demo - so now the Win32 responds to
+         "ping RTOSDemo".
+
+Changes between 141019 and 150825
+
+       + Added FTP server, which uses the new FreeRTOS+FAT component.
+       + Added basic HTTP server, which uses the new FreeRTOS+FAT component.
+       + Multiple definitions that are now common with FreeRTOS+FAT have been moved
+         into FreeRTOS's ProjDefs.h header file, and so prefixed with 'pd'.
+       + Introduced ipconfigZERO_COPY_TX_DRIVER, which defines who is responsible
+         for freeing a buffer sent to to the MAC driver for transmission, and
+         facilitates the development of zero copy drivers.
+       + Introduced the FREERTOS_MSG_DONTWAIT flag.  The flag can be used as a
+         simpler and faster alternative to using FreeRTOS_setsockopt() to set the
+         send or receive timeout to 0.
+       + A few functions that were previously all lower case are now mixed case, as
+         lower case function names are only used when they are equivalent to a
+         a Berkeley sockets API function of the same name.
+       + Introduced uxGetMinimumFreeNetworkBuffers() to return the minimum number
+         of network buffers that have ever existed since the application started
+         executing.
+       + Introduce ipconfigETHERNET_MINIMUM_PACKET_BYTES to allow the application
+         writer to set their own minimum buffer size should the hardware not be
+         capable of padding under-sized Ethernet frames.
+       + vNetworkBufferRelease() renamed vReleaseNetworkBuffer() - just for
+         consistency with the names of other functions in the same file.
+       + Grouped DHCP status data into a structure.
+       + DHCP is now tried both with and without the broadcast flag.
+       + Replaced occurrences of configASSERT_VOID() with configASSERT().
+       + ipconfigDNS_USE_CALLBACKS introduced to allow FreeRTOS_gethostbyname() to
+         be used without blocking.
+       + Fix: LLMNR and NBNS behaviour when the reply is in a larger buffer than the
+         request, and BufferAllocation_2 was used.
+       + Introduced ipMAX_IP_TASK_SLEEP_TIME to allow the application writer to
+         override the default value of 10 seconds.
+       + Fix:  Correct error in *pxUDPPayloadBuffer_to_NetworkBuffer().
+       + FreeRTOS_recv() now recognises the FREERTOS_ZERO_COPY flag, which, when
+         set, the void *pvBuffer parameter is interpreted as void **pvBuffer.
+       + FreeRTOS_listen() now returns an error code.  Previously it always
+         returned 0.
+       + Fix:  Previously if a listening socket was reused, and a connection
+         failed, the TCP/IP stack closed the socket, now the socket is correctly
+         left unclosed as it is owned by the application.
+       + Various other formatting and minor fix alterations.