1# Revision History {#rtos_revisionHistory} 2 3CMSIS-RTOS2 API component is maintained with its own versioning that gets offically updated upon releases of the [CMSIS Software Pack](../General/cmsis_pack.html) releases. 4 5The table below provides information about the changes delivered with specific versions of CMSIS-RTOS2 API. 6 7<table class="cmtable" summary="Revision History"> 8 <tr> 9 <th>Version</th> 10 <th>Description</th> 11 </tr> 12 <tr> 13 <td>V2.3.0</td> 14 <td> 15 Changed: 16 - OS Tick API moved from Device to CMSIS class 17 Added: 18 - Provisional support for processor affinity in SMP systems: 19 - \ref osThreadAttr_t :: affinity_mask 20 - \ref osThreadSetAffinityMask, \ref osThreadGetAffinityMask 21 </td> 22 </tr> 23 <tr> 24 <td>V2.2.0</td> 25 <td> 26 Added: 27 - support for \ref CMSIS_RTOS_ProcessIsolation : 28 - Kernel Management: \ref osKernelProtect, \ref osKernelDestroyClass 29 - Thread Management: \ref osThreadGetClass, \ref osThreadGetZone, \ref osThreadSuspendClass, \ref osThreadResumeClass, \ref osThreadTerminateZone, \ref osThreadFeedWatchdog, \ref osThreadProtectPrivileged 30 - Thread attributes: \ref osThreadZone, \ref osThreadUnprivileged, \ref osThreadPrivileged 31 - Object attributes: \ref osSafetyClass 32 - Handler functions: \ref osWatchdogAlarm_Handler 33 - Zone Management: \ref osZoneSetup_Callback 34 - Exception Faults: \ref osFaultResume 35 - Additional functions allowed to be called from Interrupt Service Routines: 36 - \ref osThreadGetName, \ref osEventFlagsGetName, \ref osTimerGetName, \ref osMutexGetName, \ref osSemaphoreGetName, \ref osMemoryPoolGetName, \ref osMessageQueueGetName 37 </td> 38 </tr> 39 <tr> 40 <td>V2.1.3</td> 41 <td> 42 Added: 43 - Additional functions allowed to be called from Interrupt Service Routines: 44 - \ref osThreadGetId 45 </td> 46 </tr> 47 <tr> 48 <td>V2.1.2</td> 49 <td> 50 Added: 51 - Additional functions allowed to be called from Interrupt Service Routines: 52 - \ref osKernelGetInfo, \ref osKernelGetState 53 </td> 54 </tr> 55 <tr> 56 <td>V2.1.1</td> 57 <td> 58 Additional functions allowed to be called from Interrupt Service Routines: 59 - \ref osKernelGetTickCount, \ref osKernelGetTickFreq 60 61 Changed Kernel Tick type to uint32_t: 62 - updated: \ref osKernelGetTickCount, \ref osDelayUntil 63 </td> 64 </tr> 65 <tr> 66 <td>V2.1.0</td> 67 <td> 68 Support for critical and uncritical sections (nesting safe): 69 - updated: \ref osKernelLock, \ref osKernelUnlock 70 - added: \ref osKernelRestoreLock 71 72 Updated \ref CMSIS_RTOS_ThreadFlagsMgmt "Thread Flags" and \ref CMSIS_RTOS_EventFlags "Event Flags": 73 - changed flags parameter and return type from int32_t to uint32_t 74 </td> 75 </tr> 76 <tr> 77 <td>V2.0.0</td> 78 <td> 79 New API Version 2.0 available. 80 - See \ref CMSIS_RTOS for a detailed function reference. 81 </td> 82 </tr> 83 <tr> 84 <td>V1.02 - only documentation changes</td> 85 <td> 86 Added: 87 - Overview of the \ref rtosValidation "CMSIS-RTOS Validation" Software Pack. 88 89 Clarified: 90 - Behavior of \ref CMSIS_RTOS_TimeOutValue. 91 </td> 92 </tr> 93 <tr> 94 <td>V1.02</td> 95 <td> 96 Added: 97 - New control functions for short timeouts in microsecond resolution **osKernelSysTick**, **osKernelSysTickFrequency**, **osKernelSysTickMicroSec**. 98 99 Removed: 100 - osSignalGet. 101 </td> 102 </tr> 103 <tr> 104 <td>V1.01</td> 105 <td> 106 Added: 107 - capabilities for C++, kernel initialization and object deletion. 108 - Prepared for C++ class interface. In this context to \em const attribute has been moved from osXxxxDef_t typedefs to the osXxxxDef macros. 109 - \ref osTimerDelete, \ref osMutexDelete, \ref osSemaphoreDelete . 110 - \ref osKernelInitialize that prepares the kernel for object creation. 111 </td> 112 </tr> 113 <tr> 114 <td> 115 V1.00</td> 116 <td>First official Release.<br> 117 Added: 118 - \ref osKernelStart; starting 'main' as a thread is now an optional feature. 119 - Semaphores have now the standard behavior. 120 - osTimerCreate does no longer start the timer. 121 - \ref osTimerStart (replaces osTimerRestart). 122 123 Changed: 124 - osThreadPass is renamed to \ref osThreadYield. 125 </td> 126 </tr> 127 <tr> 128 <td>V0.02</td> 129 <td>Preview Release.</td> 130 </tr> 131</table> 132