diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index 48611fd..0000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve the quality of our software
-title: ''
-labels: ''
-assignees: ''
-
----
-
-**Caution**
-The Issues are strictly limited for the reporting of problem encountered with the software provided in this project.
-For any other problem related to the STM32 product, the performance, the hardware characteristics and boards, the tools the environment in general, please post a topic in the [ST Community/STM32 MCUs forum](https://community.st.com/s/group/0F90X000000AXsASAW/stm32-mcus).
-
-**Describe the set-up**
- * The board (either ST RPN reference or your custom board).
- * IDE or at least the compiler and its version.
-
-**Describe the bug**
-A clear and concise description of what the bug is.
-
-**How To Reproduce**
-1. Indicate the global behavior of your application project.
-
-2. The modules that you suspect to be the cause of the problem (Driver, BSP, MW ...).
-
-3. The use case that generates the problem.
-
-4. How we can reproduce the problem.
-
-
-**Additional context**
-If you have a first analysis or patch correction, thank you to share your proposal.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 0000000..7960c73
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,51 @@
+name: "\U0001F41B Bug Report"
+description: Report a bug in the project
+title: "[Bug]: "
+labels: [bug]
+body:
+  - type: markdown
+    attributes:
+      value: |
+        Thanks for helping us improve the quality of our software! Please provide as much detail as possible.
+  - type: input
+    id: bug_summary
+    attributes:
+      label: Bug Summary
+      description: Briefly describe the bug.
+      placeholder: "The application crashes when..."
+    validations:
+      required: true
+  - type: textarea
+    id: bug_details
+    attributes:
+      label: Detailed Description
+      description: Provide a detailed description of the bug, including steps to reproduce it.
+    validations:
+      required: true
+  - type: input
+    id: expected-behavior
+    attributes:
+      label: Expected Behavior
+      description: A clear and concise description of what you expected to happen.
+      placeholder: Describe the expected behavior
+  - type: input
+    id: actual-behavior
+    attributes:
+      label: Actual Behavior
+      description: A clear and concise description of what actually happens.
+      placeholder: Describe what actually happened
+  - type: input
+    id: environment
+    attributes:
+      label: Environment
+      description: Describe the environment in which the bug occurs (e.g., board, compiler, IDE, version).
+  - type: dropdown
+    id: severity
+    attributes:
+      label: Severity
+      description: How severe is the bug?
+      options:
+        - Critical
+        - Major
+        - Normal
+        - Minor
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..bdb8119
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,8 @@
+blank_issues_enabled: false
+contact_links:
+  - name: "\U0001F6E1 Report a security vulnerability"
+    about: Please refer to the SECURITY.md file for instructions.
+    url: ./../../SECURITY.md
+  - name: "\U0001F6F1 Request support"
+    about: You can reach out to the ST Community.
+    url: https://community.st.com/s/topiccatalog
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 0000000..fa02ce5
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,29 @@
+name: "\U0001F4A1 Feature Request"
+description: Suggest a new feature or enhancement
+title: "[Feature]: "
+labels: [enhancement]
+body:
+  - type: markdown
+    attributes:
+      value: |
+        We appreciate your interest in improving the quality of our software! Please provide details about the feature.
+  - type: input
+    id: feature_summary
+    attributes:
+      label: Feature Summary
+      description: Briefly describe the feature or enhancement.
+      placeholder: "Add support for..."
+    validations:
+      required: true
+  - type: textarea
+    id: feature_details
+    attributes:
+      label: Detailed Description
+      description: Provide a detailed description of the feature, including potential benefits.
+    validations:
+      required: true
+  - type: input
+    id: use_case
+    attributes:
+      label: Use Case
+      description: Describe how this feature will be used and who will benefit from it.
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/other-issue.md b/.github/ISSUE_TEMPLATE/other-issue.md
deleted file mode 100644
index d72cf58..0000000
--- a/.github/ISSUE_TEMPLATE/other-issue.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-name: 'Other Issue '
-about: Generic issue description
-title: ''
-labels: ''
-assignees: ''
-
----
-
-**Caution**
-The Issues are strictly limited for the reporting of problem encountered with the software provided in this project.
-For any other problem related to the STM32 product, the performance, the hardware characteristics and boards, the tools the environment in general, please post a topic in the [ST Community/STM32 MCUs forum](https://community.st.com/s/group/0F90X000000AXsASAW/stm32-mcus).
-
-**Describe the set-up**
- * The board (either ST RPN reference or your custom board).
- * IDE or at least the compiler and its version.
-
-**Additional context**
-If you have a first analysis or a patch proposal, thank you to share your proposal.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
diff --git a/.github/ISSUE_TEMPLATE/question.yml b/.github/ISSUE_TEMPLATE/question.yml
new file mode 100644
index 0000000..09f8e02
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/question.yml
@@ -0,0 +1,24 @@
+name: "\U0001F4AC  Question"
+description: Ask a question about the project
+title: "[Question]: "
+labels: [question]
+body:
+  - type: markdown
+    attributes:
+      value: |
+        Have a question? We're here to help! Please provide details about your inquiry.
+  - type: input
+    id: question_summary
+    attributes:
+      label: Question Summary
+      description: Briefly describe your question.
+      placeholder: "How do I..."
+    validations:
+      required: true
+  - type: textarea
+    id: question_details
+    attributes:
+      label: Detailed Description
+      description: Provide a detailed description of your question, including any relevant context.
+    validations:
+      required: true
\ No newline at end of file
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
deleted file mode 100644
index b34d1f5..0000000
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## IMPORTANT INFORMATION
-
-### Contributor License Agreement (CLA)
-* The Pull Request feature will be considered by STMicroelectronics after the signature of a **Contributor License Agreement (CLA)** by the submitter.
-* If you did not sign such agreement, please follow the steps mentioned in the [CONTRIBUTING.md](https://github.com/STMicroelectronics/stm32_mw_freertos/blob/master/CONTRIBUTING.md) file.
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 0952b04..bf0ca35 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -55,8 +55,8 @@
 ## Enforcement
 
 Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported by contacting the project team at https://www.st.com/content/st_com/en/contact-us.html. All
-complaints will be reviewed and investigated and will result in a response that
+reported by contacting the project team via this [link](https://www.st.com/content/st_com/en/contact-us.html).
+All complaints will be reviewed and investigated and will result in a response that
 is deemed necessary and appropriate to the circumstances. The project team is
 obligated to maintain confidentiality with regard to the reporter of an incident.
 Further details of specific enforcement policies may be posted separately.
@@ -67,10 +67,7 @@
 
 ## Attribution
 
-This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
-available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
+This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4,
+available [here](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html).
 
-[homepage]: https://www.contributor-covenant.org
-
-For answers to common questions about this code of conduct, see
-https://www.contributor-covenant.org/faq
+For answers to common questions about this code of conduct, refer to the FAQ section [here](https://www.contributor-covenant.org/faq).
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 8668d97..f0d0cbb 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,40 +1,46 @@
 # Contributing guide
 
-This guide serves as a checklist before contributing to this repository. It mainly focuses on the steps to follow to submit an issue or a pull-request.
+This guide mainly focuses on the steps to follow to submit an issue or a pull request.
 
 ## 1. Issues
 
 ### 1.1 Before opening an issue
 
-Please check the following points before posting an issue:
-* Make sure you are using the latest commit (major releases are tagged, but corrections are available as new commits).
-* Make sure your issue is a question/feedback/suggestions **related to** the software provided in this repository. Otherwise, please refer to section [3](CONTRIBUTING.md#3-support-requests-and-questions) below.
-* Make sure your issue is not already reported/fixed on GitHub or discussed on a previous issue. Do not forget to browse into the **closed** issues.
+Before posting an issue, please ensure:
+* You are using the latest commit.
+* Your issue is **not** a vulnerability. Otherwise, please refer to section [3](CONTRIBUTING.md#3-vulnerabilities) below.
+* Your issue is **related to** the software provided in this repository. Otherwise, please refer to section [4](CONTRIBUTING.md#4-support-requests-and-miscellaneous) below.
+* Your issue is not already reported, fixed or discussed in a previous one. Remember to browse the **closed** issues.
 
 ### 1.2 Posting the issue
 
-When you have checked the previous points, create a new report from the **Issues** tab of this repository. A template is available [here](../../issues/new/choose) to help you report the issue you are facing or the enhancement you would like to propose.
+When you have checked the previous points, create a new report from the **Issues** tab of this repository. A couple of templates are available [here](../../issues/new/choose).
 
 ## 2. Pull Requests
 
-### 2.1 Before opening a pull-request
+### 2.1 Before opening a pull request
 
 STMicrolectronics is happy to receive contributions from the community, based on an initial Contributor License Agreement (CLA) procedure.
 
-* If you are an individual writing original source code and you are sure **you own the intellectual property**, then you need to sign an Individual [CLA](https://cla.st.com).
-* If you work for a company that wants also to allow you to contribute with your work, your company needs to provide a Corporate [CLA](https://cla.st.com) mentioning your GitHub account name.
+* If you are an individual writing original source code and you are sure **you own the intellectual property**, then you need to sign an **Individual** [CLA](https://cla.st.com).
+* If you work for a company that wants also to allow you to contribute with your work, your company needs to provide a **Corporate** [CLA](https://cla.st.com) mentioning your GitHub account name.
 * If you are not sure that a CLA (Individual or Corporate) has been signed for your GitHub account you can check the [CLA](https://cla.st.com) dedicated page.
 
-Please note that:
-* The Corporate CLA will always take precedence over the Individual CLA.
-* One CLA submission is sufficient, for any project proposed by STMicroelectronics.
+> [!IMPORTANT]
+> Please note that:
+> * The Corporate CLA will always take precedence over the Individual CLA.
+> * One CLA submission is sufficient, for any project proposed by STMicroelectronics.
 
 ### 2.2 How to proceed
 
 * We recommend to engage first a communication thru an issue, in order to present your proposal, just to confirm that it corresponds to STMicroelectronics' domain or scope.
 * Then fork the project to your GitHub account to further develop your contribution. Please use the latest commit version.
-* Please, submit one pull-request per new feature or proposal. This will ease the analysis and the final merge if accepted.
+* Please, submit one pull request per new feature or proposal. This will ease the analysis and the final merge if accepted.
 
-## 3. Support requests and questions
+## 3. Vulnerabilities
 
-For support requests or any other question related to the product, the tools, the environment, you can submit a post to the **ST Community** on the appropriate topic [page](https://community.st.com/s/topiccatalog).
+To report a **vulnerability**, please refer to the [SECURITY.md](./SECURITY.md) file for instructions.
+
+## 4. Support requests and miscellaneous
+
+For support requests or any other topics not related to the content of this repository, you can submit a post to the **ST Community** on the appropriate topic [page](https://community.st.com/s/topiccatalog).
diff --git a/README.md b/README.md
index ead3d35..09619a1 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Middleware FreeRTOS MCU Component
 
-![latest tag](https://img.shields.io/github/v/tag/STMicroelectronics/stm32_mw_freertos.svg?color=brightgreen)
+![tag](https://img.shields.io/badge/tag-v11.2.0_20260327-brightgreen.svg)
 
 ## Overview
 
@@ -32,4 +32,4 @@
 
 ## Troubleshooting
 
-Please refer to the [CONTRIBUTING.md](CONTRIBUTING.md) guide.
+Please refer to the [CONTRIBUTING.md](CONTRIBUTING.md) guide.
\ No newline at end of file
diff --git a/SW_Security_Level.md b/SW_Security_Level.md
new file mode 100644
index 0000000..5208de7
--- /dev/null
+++ b/SW_Security_Level.md
@@ -0,0 +1,47 @@
+<!-- SW Security Level -->
+
+## Copyright (c) 2026 STMicroelectronics.
+## All rights reserved
+<BR>
+<BR>
+
+## SW Security Classification
+
+[STM32Trust software security policies](https://wiki.st.com/stm32mcu/wiki/Security:STM32Trust_software_security_policies) define four levels of SW Security classification, each level defines a set of security policies for the applicable SW.
+
+| SW                                | SW Security Level
+|:---------                         |:-------|
+| **FreeRTOS**                      | Medium|
+
+
+<BR>
+
+## IMPORTANT SECURITY NOTICE
+
+The STMicroelectronics group of companies (ST) places a high value on product security, which is why the ST product(s) identified in this documentation may be certified by various security certification bodies and/or may implement our own security measures as set forth herein. However, no level of security certification and/or built-in security measures can guarantee that ST products are resistant to all forms of attacks. As such, it is the responsibility of each of ST's customers to determine if the level of security provided in an ST product meets the customer needs both in relation to the ST product alone, as well as when combined with other components and/or software for the customer end product or application. In particular, take note that:
+
+-  ST products may have been certified by one or more security certification bodies, such as Platform Security Architecture (www.psacertified.org) and/or Security Evaluation standard for IoT Platforms (www.trustcb.com). For details concerning whether the ST product(s) referenced herein have received security certification along with the level and current status of such certification, either visit the relevant certification standards website or go to the relevant product page on www.st.com for the most up to date information. As the status and/or level of security certification for an ST product can change from time to time, customers should re-check security certification status/level as needed. If an ST product is not shown to be certified under a particular security standard, customers should not assume it is certified.
+
+-  Certification bodies have the right to evaluate, grant and revoke security certification in relation to ST products. These certification bodies are therefore independently responsible for granting or revoking security certification for an ST product, and ST does not take any responsibility for mistakes, evaluations, assessments, testing, or other activity carried out by the certification body with respect to any ST product.
+
+-  Industry-based cryptographic algorithms (such as AES, DES, or MD5) and other open standard technologies which may be used in conjunction with an ST product are based on standards which were not developed by ST. ST does not take responsibility for any flaws in such cryptographic algorithms or open technologies or for any methods which have been or may be developed to bypass, decrypt or crack such algorithms or technologies.
+
+-  While robust security testing may be done, no level of certification can absolutely guarantee protections against all attacks, including, for example, against advanced attacks which have not been tested for, against new or unidentified forms of attack, or against any form of attack when using an ST product outside of its specification or intended use, or in conjunction with other components or software which are used by customer to create their end product or application. ST is not responsible for resistance against such attacks. As such, regardless of the incorporated security features and/or any information or support that may be provided by ST, each customer is solely responsible for determining if the level of attacks tested for meets their needs, both in relation to the ST product alone and when incorporated into a customer end product or application.
+
+-  All security features of ST products (inclusive of any hardware, software, documentation, and the like), including but not limited to any enhanced security features added by ST, are provided on an "AS IS" BASIS.
+
+AS SUCH, TO THE EXTENT PERMITTED BY APPLICABLE LAW, ST DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, unless the applicable written and signed contract terms specifically provide otherwise.
+
+<BR>
+
+## IMPORTANT NOTICE - READ CAREFULLY
+
+STMicroelectronics NV and its subsidiaries ("ST") reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST products are sold pursuant to ST's terms and conditions of sale in place at the time of order acknowledgment.
+
+Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of purchasers' products.
+No license, express or implied, to any intellectual property right is granted by ST herein.
+Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.
+ST and the ST logo are trademarks of ST. For additional information about ST trademarks, refer to www.st.com/trademarks. All other product or service names are the property of their respective owners.
+Information in this document supersedes and replaces information previously supplied in any prior versions of this document.
+
+Copyright (c) 2026 STMicroelectronics - All rights reserved
\ No newline at end of file
diff --git a/Source/st_readme.txt b/Source/st_readme.txt
index c3843ea..6915e1b 100644
--- a/Source/st_readme.txt
+++ b/Source/st_readme.txt
@@ -31,18 +31,22 @@
   @endverbatim
 
 =======
+### 27-March-2026 ###
+=========================
+  + Add SW_Security_Level.md file
+
 ### 20-June-2025 ###
 =========================
-+ FreeRTOS: Update to FreeRTOS v11.2.0
+  + FreeRTOS: Update to FreeRTOS v11.2.0
 
-+ Add files to portable folder to support MPU for CM0 cortex
-  - portable/GCC/ARM_CM0/mpu_wrappers_v2_asm.c
-  - portable/GCC/ARM_CM0/portasm.h
-  - portable/GCC/ARM_CM0/portasm.c
+  + Add files to portable folder to support MPU for CM0 cortex
+    - portable/GCC/ARM_CM0/mpu_wrappers_v2_asm.c
+    - portable/GCC/ARM_CM0/portasm.h
+    - portable/GCC/ARM_CM0/portasm.c
 
-+ CMSIS_RTOS_V2 update against the latest CMSIS-FreeRTOS v11.2.0 release
-  - CMSIS_RTOS_V2/cmsis_os2.c
-  - CMSIS_RTOS_V2/freertos_os2.h
+  + CMSIS_RTOS_V2 update against the latest CMSIS-FreeRTOS v11.2.0 release
+    - CMSIS_RTOS_V2/cmsis_os2.c
+    - CMSIS_RTOS_V2/freertos_os2.h
 
 ### 11-October-2024 ###
 =========================
