Hello @herbert ,
I have verified that priority inheritance still occurs with your code when using STM32CubeIDE v1.19.0.
You can also observe this behavior directly in the debugger by following these steps:
- Open the view via Window → Show View → FreeRTOS → FreeRTOS Task List.
- After lowering the priority of myTask02, you will see both the base and actual priorities displayed.
- The actual priority being higher than the base priority clearly indicates that priority inheritance is taking place as illustrated in this screenshot below:

In contrast, when using semaphores (which do not support priority inheritance), you may notice that the scheduler continues running other higher priority tasks (such as myTask04), while myTask02 is starved and unable to run to release the semaphore, thereby blocking myTask03.
To assist you further, could you please share more context about your project setup and code, including:
- Exact FreeRTOS and CMSIS-RTOS versions,
- Relevant parts of your FreeRTOSConfig.h,
- Any modifications made after upgrading STM32CubeIDE.
This will help us pinpoint any configuration or environment factors affecting your experience.
Best regards,
DHIF Khaled