diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 78eb0cd53..bf816e2b0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,6 +30,19 @@ jobs: VERSION_NUMBER: ${{ github.event.inputs.version_number }} COMMIT_ID: ${{ github.event.inputs.commit_id }} run: git checkout -b "$VERSION_NUMBER" "$COMMIT_ID" + - name: Update version number in source files + env: + VERSION_NUMBER: ${{ github.event.inputs.version_number }} + REPO_NAME: ${{ github.event.repository.name }} + source_folder_list: "source test" + run: | + echo "${{ env.source_folder_list }}" | \ + xargs -n 1 sh -c \ + 'find $1 -type f \( -name "*.c" -o -name "*.h" \) \ + -exec sed -i -b -E "0,/^ \* FreeRTOS\+TCP/s/^ \* FreeRTOS\+TCP.*/ \* FreeRTOS\+TCP $VERSION_NUMBER/g" {} +' + git add . + git commit -m '[AUTO][RELEASE]: Update version number in source files' + git push -u origin "$VERSION_NUMBER" - name: Generate SBOM uses: FreeRTOS/CI-CD-Github-Actions/sbom-generator@main with: diff --git a/History.txt b/History.txt index 3275574f9..a1eeb82fe 100644 --- a/History.txt +++ b/History.txt @@ -1,5 +1,54 @@ Documentation and download available at https://www.FreeRTOS.org/ +Changes between FreeRTOS-plus-TCP V4.3.0 and V4.2.2 released December 10, 2024 + + Fix TCP RX sequence number when handling refusal of FIN packets. + + Fix unicast packets being sent over inactive endpoints. We thank + @AlfaSegato for their contribution. + + Fix the initialization of the DNS callback list every time there is a + Network-UP event. We thank @evpopov for their contribution. + + Full ARP/ND build level separation. + We thank @HTRamsey for their contribution. + + Update the `eARPGetCacheEntry` to handle loopback addresses correctly + and assign the loopback endpoint's MAC address as the lookup MAC address. + We thank @htibosch for their contribution. + + Replace the costly `vTaskSuspendAll`/`xTaskResumeAll` locking + mechanism with the more efficient `taskENTER_CRITICAL`/`taskEXIT_CRITICAL` + pair in frequenly used `uxStreamBufferAdd()`. + We thank @lzungri for their contribution. + + Improve frame filtering by expanding the checks in + eConsiderFrameForProcessing to drop invalid frames earlier. + We thank @HTRamsey for their contribution. + + Fix reception of multicast custom Ethernet frames, where custom multicast + frames were filtered out. We thank @evpopov for their contribution. + + Update the Zynq Ultrascale port to support the V4.x.x version of + FreeRTOS+TCP. We thank @StefanBalt and @pete-pjb for their contribution. + + New unified STM32 network interface for STM32 F4/F7/H5/H7. + We thank @HTRamsey for their contribution. + + Fix ATSAME5x network interface related to incorrect detection of ICMP. + We thank @cruxic for their contribution. + + Update Renesas portable layer for backward compatibility. + We thank @xuan97z1 for their contribution. + + Replace any missing functions by assert-false in all CBMC proofs to + improve tests. We thank @tautschnig for their contribution. + + Add ipconfigEMAC_TASK_HOOK macro to allow for a configurable + watchdog timer for STMH7xx MCUs. We thank @kzorer for their contribution. + + Improve CMake to allow usage of `FetchContent` in external projects. + We thank @nicovanduijn for their contribution. + + Add warning logs if the TCP stream buffer or window properties + are changed. We thank @evpopov for their contribution. + + Remove unused `ipconfigHAS_ROUTING_STATISTICS` macro. + We thank @HTRamsey for their contribution. + + Fix MISRA 2012 violations with the latest version of + MISRA evalution tools. + + Adjust CBMC proof tooling to support CBMC v6. + We thank @tautschnig for their contribution. + +Changes between FreeRTOS-plus-TCP V4.2.2 and V4.2.1 released July 12, 2024: + + Update version information in public header file which were not present earlier. + +Changes between FreeRTOS-plus-TCP V4.2.1 and V4.2.0 released June 27, 2024: + + Update version information in source files which were not present earlier. + Changes between FreeRTOS-plus-TCP V4.2.0 and V4.1.0 released June 24, 2024 + It was possible for a carefully crafted DNS response with domain name length value greater than the actual domain name length, to cause a buffer diff --git a/docs/doxygen/config.doxyfile b/docs/doxygen/config.doxyfile index 9f406bd07..99d7c4c05 100644 --- a/docs/doxygen/config.doxyfile +++ b/docs/doxygen/config.doxyfile @@ -48,7 +48,7 @@ PROJECT_NAME = FreeRTOS-Plus-TCP # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = V4.2.0 +PROJECT_NUMBER = V4.3.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/manifest.yml b/manifest.yml index 5f19b66e9..e5b52772e 100644 --- a/manifest.yml +++ b/manifest.yml @@ -1,5 +1,5 @@ name: "FreeRTOS-Plus-TCP" -version: "V4.2.0" +version: "V4.3.0" description: "Thread safe FreeRTOS TCP/IP stack working on top of the FreeRTOS-Kernel to implement the TCP/IP protocol. Suitable for microcontrollers." diff --git a/source/FreeRTOS_BitConfig.c b/source/FreeRTOS_BitConfig.c index 515b8770d..5fd3d2dee 100644 --- a/source/FreeRTOS_BitConfig.c +++ b/source/FreeRTOS_BitConfig.c @@ -1,5 +1,5 @@ /* - * FreeRTOS+TCP V2.3.1 + * FreeRTOS+TCP * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/source/FreeRTOS_DHCPv6.c b/source/FreeRTOS_DHCPv6.c index 6bf6fc50a..978fa395d 100644 --- a/source/FreeRTOS_DHCPv6.c +++ b/source/FreeRTOS_DHCPv6.c @@ -1,5 +1,5 @@ /* - * FreeRTOS+TCP V2.3.1 + * FreeRTOS+TCP * Copyright (C) 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/source/FreeRTOS_ND.c b/source/FreeRTOS_ND.c index 476c2a4c6..3dddfc470 100644 --- a/source/FreeRTOS_ND.c +++ b/source/FreeRTOS_ND.c @@ -1,5 +1,5 @@ /* - * FreeRTOS+TCP V2.3.1 + * FreeRTOS+TCP * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/source/FreeRTOS_RA.c b/source/FreeRTOS_RA.c index a9ef1fc8b..2f6875ff8 100644 --- a/source/FreeRTOS_RA.c +++ b/source/FreeRTOS_RA.c @@ -1,5 +1,5 @@ /* - * FreeRTOS+TCP V2.3.1 + * FreeRTOS+TCP * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/source/FreeRTOS_Routing.c b/source/FreeRTOS_Routing.c index 7be575193..097f91708 100644 --- a/source/FreeRTOS_Routing.c +++ b/source/FreeRTOS_Routing.c @@ -1,5 +1,5 @@ /* - * FreeRTOS+TCP V2.3.1 + * FreeRTOS+TCP * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/source/include/FreeRTOS_BitConfig.h b/source/include/FreeRTOS_BitConfig.h index 952bfb714..3cc313d99 100644 --- a/source/include/FreeRTOS_BitConfig.h +++ b/source/include/FreeRTOS_BitConfig.h @@ -1,5 +1,5 @@ /* - * FreeRTOS+TCP V2.3.1 + * FreeRTOS+TCP * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/source/include/FreeRTOS_DHCPv6.h b/source/include/FreeRTOS_DHCPv6.h index 0e2792c86..11bf3f033 100644 --- a/source/include/FreeRTOS_DHCPv6.h +++ b/source/include/FreeRTOS_DHCPv6.h @@ -1,5 +1,5 @@ /* - * FreeRTOS+TCP V2.3.1 + * FreeRTOS+TCP * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/source/include/FreeRTOS_IP.h b/source/include/FreeRTOS_IP.h index bb99f5c12..a177dcc05 100644 --- a/source/include/FreeRTOS_IP.h +++ b/source/include/FreeRTOS_IP.h @@ -44,9 +44,9 @@ /* Constants defining the current version of the FreeRTOS+TCP * network stack. */ -#define ipFR_TCP_VERSION_NUMBER "V4.2.999" +#define ipFR_TCP_VERSION_NUMBER "V4.3.999" #define ipFR_TCP_VERSION_MAJOR 4 -#define ipFR_TCP_VERSION_MINOR 2 +#define ipFR_TCP_VERSION_MINOR 3 /* Development builds are always version 999. */ #define ipFR_TCP_VERSION_BUILD 999 diff --git a/source/include/FreeRTOS_IPv6.h b/source/include/FreeRTOS_IPv6.h index ea2d9dbca..84b841595 100644 --- a/source/include/FreeRTOS_IPv6.h +++ b/source/include/FreeRTOS_IPv6.h @@ -1,5 +1,5 @@ /* - * FreeRTOS+TCP V2.3.1 + * FreeRTOS+TCP * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/source/include/FreeRTOS_ND.h b/source/include/FreeRTOS_ND.h index e6119f05c..f7c791ace 100644 --- a/source/include/FreeRTOS_ND.h +++ b/source/include/FreeRTOS_ND.h @@ -1,5 +1,5 @@ /* - * FreeRTOS+TCP V2.3.1 + * FreeRTOS+TCP * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/source/include/FreeRTOS_Routing.h b/source/include/FreeRTOS_Routing.h index dc45a0d67..0fa9fab88 100644 --- a/source/include/FreeRTOS_Routing.h +++ b/source/include/FreeRTOS_Routing.h @@ -1,5 +1,5 @@ /* - * FreeRTOS+TCP V2.3.1 + * FreeRTOS+TCP * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/source/portable/NetworkInterface/DriverSAM/NetworkInterface.c b/source/portable/NetworkInterface/DriverSAM/NetworkInterface.c index 8a837dd35..b79d1008f 100644 --- a/source/portable/NetworkInterface/DriverSAM/NetworkInterface.c +++ b/source/portable/NetworkInterface/DriverSAM/NetworkInterface.c @@ -1,5 +1,5 @@ /* - * FreeRTOS+TCP V2.3.1 + * FreeRTOS+TCP * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/source/portable/NetworkInterface/loopback/loopbackNetworkInterface.c b/source/portable/NetworkInterface/loopback/loopbackNetworkInterface.c index 9152d4744..ffe058be5 100644 --- a/source/portable/NetworkInterface/loopback/loopbackNetworkInterface.c +++ b/source/portable/NetworkInterface/loopback/loopbackNetworkInterface.c @@ -1,5 +1,5 @@ /* - * FreeRTOS+TCP V2.3.1 + * FreeRTOS+TCP * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of