Skip to content

Releases: eclipse-threadx/threadx

Eclipse ThreadX v6.5.1.202602a

08 Jun 15:15
b91b03b

Choose a tag to compare

Eclipse ThreadX 6.5.1.202602a Release Notes

This hotfix release corrects a critical compilation regression introduced in v6.5.1.202602 that prevented projects from building when targeting Cortex-M3, Cortex-M4, or Cortex-M7 processors. It also delivers Linux build script coverage for all GNU-toolchain ports touched in v6.5.1.202602.

Vulnerabilities addressed

No new vulnerabilities were addressed in this release. You can access advisories for previously addressed vulnerabilities here https://github.com/eclipse-threadx/threadx/security/advisories.

Bug Fixes

Critical: #endif without #if compilation error in tx_port.h (#545, #546)

In v6.5.1.202602, an #else directive was incorrectly replaced with #endif in the #ifdef TX_PORT_USE_BASEPRI / __set_basepri_value block, causing the following error when compiling for affected targets:

tx_port.h: error: #endif without #if

The following ports are affected and have been corrected:

  • cortex_m3/ac6, cortex_m3/gnu, cortex_m3/iar
  • cortex_m4/ac6, cortex_m4/gnu, cortex_m4/iar
  • cortex_m7/ac6, cortex_m7/gnu, cortex_m7/iar

Thanks to @s-w-k-r for reporting this issue.

Fixed missing linker script symbols in cortex_m4/gnu example build

The cortexm4_crt0.S startup file referenced several symbols (__text_load_start__, __rodata_start__, __fast_load_start__, and others) that were absent from sample_threadx.ld, causinglinker errors when building the sample application. The linker script has been updated to define all required symbols.

Enhancements

Linux build scripts for GNU-toolchain ports

build_threadx.sh (and build_threadx_sample.sh where applicable) have been added as Linux equivalents of the existing Windows .bat build scripts for all GNU-toolchain ports changed sincev6.5.0:

arm9, arm11, cortex_a5, cortex_a7, cortex_a8, cortex_a9, cortex_a12, cortex_a15, cortex_a17, cortex_m0, cortex_m23, cortex_m33, cortex_m55, cortex_m85, cortex_r4,cortex_r5

A pre-existing path bug in the cortex_m23/gnu build script (tx_thread_stack_error_handler.c and tx_thread_stack_error_notify.c were referenced from the port directory instead ofcommon/src/) has also been corrected.

Full Changelog: v6.5.1.202602_rel...v6.5.1.202602a_rel

Eclipse ThreadX v6.5.1.202602

08 Jun 08:02
87ab09c

Choose a tag to compare

Eclipse ThreadX 6.5.1.202602 Release Notes

This release expands hardware platform support with major RISC-V improvements — including three new boards and the addition of support for the RISC-V Vector Extension (RVV) — and introduces native Win64 ports for both ThreadX and ThreadX SMP. It also delivers a significantly updated Xtensa port, QEMU-based automated CI forRISC-V, and several bug fixes for Cortex-M and RISC-V targets.

We thank contributors from 10xEngineers, Alibaba, Bradford Space, Cadence Design Systems, JBLopen, Quintauris, Taktflow Systems, and Volz Servos for their valuable contributions to this release.

Vulnerabilities addressed

No new vulnerabilities were addressed in this release. You can access advisories for previously addressed vulnerabilities here.

Highlights

RISC-V Expanded Support

This release includes the most significant expansion of RISC-V support to date:

  • RVV (Vector Extension): The RISC-V 64-bit architecture port and the qemu_virt example now support the RISC-V Vector Extension (RVV). (#508, @goodnorning)
  • Port consolidation: The RV32 and RV64 ports have been refactored and consolidated for maintainability. Toolchain files have been cleaned up (riscv32-unknown-elf, riscv-none-elf-rv32imc for xPack users). (#536, #537, #539, @fdesbiens)
  • Performance: Lazy FPU save/restore and GP relaxation have been implemented for the GNU RISC-V 32-bit port.(#513, @Winstonllllai)
  • Bug fixes: A critical bug where MPIE was cleared after an mret instruction — causing interrupts to be permanently disabled — has been fixed. (#522, @cpdpls) A misalignment issue caused by an incorrect ULONG size definition has also been corrected. (#534, @cpdpls)

New RISC-V Hardware Platforms

Three new platforms are now supported:

New Win64 Port

ThreadX and ThreadX SMP now have native Windows 64-bit (Win64) ports, enabling development and testing on modern 64-bit Windows systems. (#529, @fdesbiens)

Xtensa Improvements

The Xtensa port has been updated with contributions from the Cadence foss-xtensa fork, including: (#525, @ianstcdns)

  • LX8 support for more than 32 interrupts
  • Context switch logic fixes
  • Interrupt fixes for TX_ENABLE_EXECUTION_CHANGE_NOTIFY
  • Support for __DYNAMIC_REENT__
  • Execution profiling support

QEMU-based CI for RISC-V

Automated regression test infrastructure using QEMU has been added for both RV32 and RV64. (#526, @akifejaz)

Other Bug Fixes

Build System

  • Added conditional CMake support for ThreadX SMP (#524, @fdesbiens)
  • Fixed THREADX_ARCH undefined when building ThreadX as a standalone CMake library (#540, @fdesbiens)

New Contributors

Full Changelog: v6.5.0.202601_rel...v6.5.1.202602_rel

Eclipse ThreadX v6.5.0.202601

06 Mar 23:26
3726d79

Choose a tag to compare

This release introduces significant enhancements for RISC-V support, including a new RISC-V32 architecture port layer, a Clang port, and improved robustness for RV64/GNU. It also adds support for the XuanTie E906 CPU and resolves VFP build failures on Cortex-A platforms.

Important notice about version numbers

In the past, new versions of ThreadX and its companion components (NextX Duo, USBX, FileX, GUIX, LevelX) were published only when there were changes to the codebase. This led to discrepancies in version numbers across components. The Eclipse Foundation security team recommended that we move away from this approach, as it makes it harder to track things from a cybersecurity standpoint.

Going forward, we will keep version numbers aligned by publishing a new version of every component every quarter — whether there have been changes to the codebase or not. The release notes will clearly state if a specific release is simply a version number update.

Vulnerabilities addressed

No new vulnerabilities were addressed in this release. You can access advisories for previously addressed vulnerabilities here.

What's Changed

New Contributors

Full Changelog: v6.4.5.202504_rel...v6.5.0.202601_rel

Eclipse ThreadX 6.4.5.202504

09 Jan 15:04
4b6e810

Choose a tag to compare

This release fixes a typo in the name of one of the common constants. It also addresses a security vulnerability in the POSIX compatibility layer.

Important notice about version numbers

In the past, new versions of ThreadX and its companion components (NextX Duo, USBX, FileX, GUIX, LevelX) were published only when there were changes to the codebase. This led to discrepancies in version numbers across components. The Eclipse Foundation security team recommended that we move away from this approach, as it makes it harder to track things from a cybersecurity standpoint.

Going forward, we will keep version numbers aligned by publishing a new version of every component every quarter — whether there have been changes to the codebase or not. The release notes will clearly state if a specific release is simply a version number update.

For this particular release of ThreadX, the version number jumped from v.6.4.3 to v.6.4.5 to catch up with NetX Duo.

What's Changed

  • fix typo TX_BYTE_POOL_DELAY_VALUE instead of TX_BTYE_POOL_DELAY_VALUE by @ayedm1 in #478

Vulnerabilities addressed

CVE-2026-0648 Persistent Initialisation Pointer Corruption in the POSIX Compatibility Layer

New Contributors

Full Changelog: v6.4.3.202503_rel...v6.4.5.202504_rel

Eclipse ThreadX v.6.4.3.202503

02 Oct 17:47
c4ad279

Choose a tag to compare

The main change in this release is the new configuration parameter TX_QUEUE_MESSAGE_MAX_SIZE in tx_api.h, which defines the maximum message size for queues. The default value is set to TX_ULONG_16 to maintain backwards compatibility.

Vulnerabilities addressed

What's Changed

  • Made queue max message size configurable. by @rahmanih in #447
  • Documented GNU library compile flags for Linux and SMP Linux. by @hnguyenHWI in #449
  • Prevented analysis when stack overflow has occured. by @gzzi in #464
  • Fixed an IAR include typo. by @ericminnerath in #463
  • Completed the implementation of a configurable queue max size (ThreadX SMP). by @fdesbiens in #467

CI

  • Added new label for all created issues, enforce the use of issue templates by @netomi in #387
  • Added workflow permissions. by @fdesbiens in #453
  • Updated all actions to their latest release. by @fdesbiens in #454
  • Fixed code coverage artefacts upload by @fdesbiens in #455
  • Added condition to "Coverage Report Name". Corrected formatting. by @fdesbiens in #456
  • Fixed code coverage report download step in deploy_code_coverage. by @fdesbiens in #457
  • Ported CI fixes to dev branch by @fdesbiens in #465

New Contributors

Full Changelog: v6.4.2_rel...v6.4.3.202503_rel

Eclipse ThreadX RTOS 6.4.2

24 Feb 20:47
06dabb0

Choose a tag to compare

This is a small service release fixing a few CMake issues.

The main new feature is the RISC-V QEMU support contributed by @Jer6y. Thank you very much!

What's Changed

New Contributors

Full Changelog: v6.4.1_rel...v6.4.2_rel

Eclipse ThreadX RTOS 6.4.1

29 Feb 02:08
07eac30

Choose a tag to compare

What's Changed

  • msft azure label rtos update by @ericwol-msft in #343
  • Security.md update by @ericwol-msft in #347
  • Update copyright. by @bo-ms in #349
  • Update version id string. by @bo-ms in #350
  • Update README.md text by @timlt in #351
  • Create SECURITY.md by @wickste in #352
  • Update CONTRIBUTING.md by @wickste in #354
  • Update CONTRIBUTING.md by @wickste in #353
  • update license.txt and delete licensed-hardware.txt by @wickste in #355
  • Update README.md by @wickste in #362
  • Update the copyright for all assembly files. by @bo-ms in #364
  • Update version number to 6.4.1 by @TiejunMS in #365
  • Add revision history file. by @bo-ms in #366

New Contributors

  • @ericwol-msft made their first contribution in #343
  • @bo-ms made their first contribution in #349
  • @timlt made their first contribution in #351

Full Changelog: v6.4.0_rel...v6.4.1_rel

Azure RTOS ThreadX 6.4.0

02 Jan 01:08
39f3c86

Choose a tag to compare

What's Changed

  • Removed redundant sample_threadX project from Cortex A7 ports_module I… by @yajunxiaMS in #312
  • Added thumb mode support for threadX GNU ports on armv7a platforms. by @yajunxiaMS in #333
  • Add check for overflow in queue size calculation in RTOS compatibility layer. by @xiuwencai in #339
  • Add error handling in lock initialization in the Xtensa port by @xiuwencai in #340

New Contributors

Full Changelog: v6.3.0_rel...v6.4.0_rel

Azure RTOS ThreadX 6.3.0

31 Oct 02:44
13b700f

Choose a tag to compare

What's Changed

Bug Fixes and New Features

  • Fix random failure in test case threadx_event_flag_suspension_timeout_test.c by @TiejunMS in #246
  • Include tx_user.h in cortex_m3/4/7 IAR and AC5 port by @TiejunMS in #255
  • Include tx_user.h in cortex_m33/55/85 IAR port by @TiejunMS in #267
  • Add random number stack filling option by @xiuwencai in #257
  • Fix MISRA issues for ThreadX SMP by @TiejunMS in #263
  • Export _tx_handler_svc_unrecognized as weak symbol. by @xiuwencai in #264
  • Fix compile warnings in Linux port. by @yanwucai in #276
  • Added memory barrier before thread scheduling for ARMv8-A ThreadX SMP. by @TiejunMS in #280
  • Added thumb mode support under GNU for module manager on Cortex-A7 by @yajunxiaMS in #287
  • Added thumb mode support under IAR for module manager on Cortex-A7 by @yajunxiaMS in #289
  • Fixed the issue of the data/bss section cannot be read from ARM FVP by @yajunxiaMS in #301
  • Improved the logic to validate object from application in ThreadX Module by @TiejunMS in #307

Others

  • Update LICENSED-HARDWARE.txt by @wickste in #236
  • Update LICENSE.txt by @wickste in #261
  • Release ARMv7-M and ARMv8-M architecture ports by @TiejunMS in #249
  • Release ARMv7-A architecture ports and add tx_user.h to GNU port assembly files by @TiejunMS in #250
  • Unify ThreadX and SMP for ARMv8-A. by @TiejunMS in #275
  • Update devcontainer to Ubuntu 22.04 by @TiejunMS in #253
  • Release scripts to validate ThreadX port by @TiejunMS in #254
  • Add a pull request template by @TiejunMS in #272

New Contributors

Full Changelog: v6.2.1_rel...v6.3.0_rel

Azure RTOS ThreadX 6.2.1

08 Mar 08:58

Choose a tag to compare

Full Changelog:

  • Add tx_user.h to GNU port assembly files
  • RISC-V 64 bit port for Microchip
  • Link Winmm.lib that required by the high-resolution timer.
  • Update Win32 port with high resolution timer.
  • Add DMB ISH barrier inst in ARMv8-A SMP scheduler
  • Add .section .preamble to m3 m4 m7 module ports
  • Add missing parenthesis in ports assembly file
  • Modules Cortex-A7 IAR new port
  • Modules Cortex-A7 GNU new port
  • Fix race condition in tx_thread_wait_abort and update regression test
  • armv8-m compile time FPU fix
  • added tx_trace.h include to module stop.c
  • #include tx_user.h in assembly files for cortex-m ports
  • initial port of MIPS SMP for GHS and GNU
  • capitalize extensions for M23 asm files
  • Fix armv7-m MPU settings for corner case, unify txm_module_port.h files
  • remove uneeded include for ac6
  • update riscv iar example for latest iar tools
  • check module stack for overlap (not kernel stack)
  • apply patch from mobileye to fix time slice processing
  • initialize unused MPU settings so that aliasing will work
  • add config directory to IAR RISC-V port in order to use simulator