Zephyr 4.2 Release Checklist

by ADMIN 29 views

The Zephyr 4.2 release checklist is a comprehensive guide to ensure a smooth and successful release process. This checklist outlines the tasks and responsibilities for each stage of the release process, from preparation to post-release activities.

Preparation


As soon as possible


  • Ensure there is a draft doc/releases/release-notes-4.2.rst and doc/releases/migration-guide-4.2.rst with feature summary from the previous one and if not create one (previous #69418)
  • Ensure MAINTAINERS.yml "Release Notes"'s maintainers to point at the current release owners (#81669)
  • Set the current release managers as assignee's in this issue and ensure it is linked from the release plan.

From day one but with extra focus as we approach RC1 and after


One month before RC1


  • Ping west project maintainers to remind them of the RC1/freeze deadline and to consider if their modules should be updated (you may want to extract all west projects' maintainers names from the MAINTAINERS files and create an issue like) (previous https://github.com/zephyrproject-rtos/zephyr/issues/73834)
  • Start giving heads ups on the TSC meeting about the incoming freeze.

Two weeks before RC1


  • Send a heads ups about the incoming freeze to dev-mailing list and Discord General channel

Pre RC1


  • Create next release (v4.2.0) milestone so that features that don't make it to the release can be assigned a milestone
  • Verify that all security-critical external components and external dependencies are up to date
  • Check known vulnerabilities, and fix exploitable vulnerabilities or verify them as un-exploitable (ask Security working group).
  • Make sure there's no pending "Release Blocker" issues
  • Ensure that the latest Zephyr SDK contains all the changes necessary to support the new features included in, or planned for this release; if not, ping the SDK maintainer (@stephanosio) to release a new SDK version.
    • [ ] Check if any toolchain-related enhancements and bug fixes are required for any of the pull requests targeting this release. If any of these enhancements and bug fixes are not part of the latest Zephyr SDK, a new SDK version must be released.
    • [ ] Check that the Picolibc version in the latest SDK matches the Picolibc module version in west.yml. If they do not match, a new SDK version must be released. (ping @stephanosio and @keith-packard )
  • Create a "Deprecated APIs/options to be removed by x.y" issue for 4.3 (N+3), linking to it from & to the 4.2 one (https://github.com/zephyrproject-rtos/zephyr/issues/77070) . Remember to set the deprecation_tracker label.

Release


Update Release Notes and Migration Guide


  • Be sure to remind maintainers to update the release notes, at the very least in the rc1, rc2 and rc3 emails.

After RC3, before final release


After Release


The Zephyr 4.2 release checklist is a comprehensive guide to ensure a smooth and successful release process. However, we understand that you may have questions about the checklist and the release process. Here are some frequently asked questions and answers to help clarify any doubts.

Q: What is the purpose of the release checklist?

A: The release checklist is a comprehensive guide to ensure a smooth and successful release process. It outlines the tasks and responsibilities for each stage of the release process, from preparation to post-release activities.

Q: Who is responsible for completing the tasks in the release checklist?

A: The release manager and the project maintainers are responsible for completing the tasks in the release checklist. The release manager is responsible for overseeing the release process and ensuring that all tasks are completed, while the project maintainers are responsible for completing the tasks related to their specific areas of expertise.

Q: What is the difference between a release manager and a project maintainer?

A: A release manager is responsible for overseeing the release process and ensuring that all tasks are completed, while a project maintainer is responsible for completing the tasks related to their specific areas of expertise.

Q: What is the purpose of the release notes and migration guide?

A: The release notes and migration guide are used to document the changes and updates made in the release. They provide a summary of the new features, bug fixes, and other changes made in the release, as well as information on how to migrate from the previous release.

Q: How do I update the release notes and migration guide?

A: To update the release notes and migration guide, you need to follow the instructions outlined in the release checklist. This includes reviewing the changes made in the release, updating the release notes and migration guide, and submitting the updated documents for review and approval.

Q: What is the purpose of the CI weekly run?

A: The CI weekly run is used to check for build failures and report or fix them. This helps to ensure that the release is stable and free from errors.

Q: How do I check for build failures?

A: To check for build failures, you need to follow the instructions outlined in the release checklist. This includes running the CI weekly run and reviewing the results to identify any build failures.

Q: What is the purpose of the release management page?

A: The release management page is used to document the release schedule and provide information on the release process. It helps to ensure that all stakeholders are aware of the release schedule and can plan accordingly.

Q: How do I update the release management page?

A: To update the release management page, you need to follow the instructions outlined in the release checklist. This includes updating the release schedule and submitting the updated page for review and approval.

Q: What is the purpose of the security policy?

A: The security policy is used to document the security procedures and guidelines for the project. It helps to ensure that the project is secure and that all stakeholders are aware of the security procedures and guidelines.

Q: How do I update the security policy?

A: To update the security policy, you need to follow the instructions outlined in the release checklist. This includes reviewing the security procedures and guidelines, updating the security policy, and submitting the updated policy for review and approval.

Q: What is the purpose of the marketing blog?

A: The marketing blog is used to announce the release and provide information on the new features and updates made in the release. It helps to promote the release and attract new users to the project.

Q: How do I update the marketing blog?

A: To update the marketing blog, you need to follow the instructions outlined in the release checklist. This includes writing and submitting a blog post announcing the release and providing information on the new features and updates made in the release.

Q: What is the purpose of the GitHub discussions?

A: The GitHub discussions are used to discuss the release and provide information on the new features and updates made in the release. It helps to promote the release and attract new users to the project.

Q: How do I update the GitHub discussions?

A: To update the GitHub discussions, you need to follow the instructions outlined in the release checklist. This includes writing and submitting a discussion post announcing the release and providing information on the new features and updates made in the release.

Q: What is the purpose of the Discord announcement?

A: The Discord announcement is used to announce the release and provide information on the new features and updates made in the release. It helps to promote the release and attract new users to the project.

Q: How do I update the Discord announcement?

A: To update the Discord announcement, you need to follow the instructions outlined in the release checklist. This includes writing and submitting an announcement post announcing the release and providing information on the new features and updates made in the release.

Q: What is the purpose of the checklist issue for next release?

A: The checklist issue for next release is used to document the tasks and responsibilities for the next release. It helps to ensure that all stakeholders are aware of the tasks and responsibilities for the next release and can plan accordingly.

Q: How do I update the checklist issue for next release?

A: To update the checklist issue for next release, you need to follow the instructions outlined in the release checklist. This includes reviewing the tasks and responsibilities for the next release, updating the checklist issue, and submitting the updated issue for review and approval.

Q: What is the purpose of the draft doc/releases/release-notes-4.4.rst and doc/releases/migration-guide-4.4.rst?

A: The draft doc/releases/release-notes-4.4.rst and doc/releases/migration-guide-4.4.rst are used to document the changes and updates made in the next release. They provide a summary of the new features, bug fixes, and other changes made in the next release, as well as information on how to migrate from the current release.

Q: How do I update the draft doc/releases/release-notes-4.4.rst and doc/releases/migration-guide-4.4.rst?

A: To update the draft doc/releases/release-notes-4.4.rst and doc/releases/migration-guide-4.4.rst, you need to follow the instructions outlined in the release checklist. This includes reviewing the changes made in the next release, updating the draft documents, and submitting the updated documents for review and approval.

Q: What is the purpose of the v4.2-branch branch?

A: The v4.2-branch branch is used to document the changes and updates made in the 4.2.x releases. It provides a summary of the new features, bug fixes, and other changes made in the 4.2.x releases, as well as information on how to migrate from the previous release.

Q: How do I update the v4.2-branch branch?

A: To update the v4.2-branch branch, you need to follow the instructions outlined in the release checklist. This includes reviewing the changes made in the 4.2.x releases, updating the branch, and submitting the updated branch for review and approval.

Q: What is the purpose of the backport v4.2-branch label?

A: The backport v4.2-branch label is used to document the fixes that are not bad enough to go in RC3. It helps to ensure that all stakeholders are aware of the fixes that are not included in RC3 and can plan accordingly.

Q: How do I update the backport v4.2-branch label?

A: To update the backport v4.2-branch label, you need to follow the instructions outlined in the release checklist. This includes reviewing the fixes that are not included in RC3, updating the label, and submitting the updated label for review and approval.

Q: What is the purpose of the v4.2-branch branch for 4.2.x releases?

A: The v4.2-branch branch for 4.2.x releases is used to document the changes and updates made in the 4.2.x releases. It provides a summary of the new features, bug fixes, and other changes made in the 4.2.x releases, as well as information on how to migrate from the previous release.

Q: How do I update the v4.2-branch branch for 4.2.x releases?

A: To update the v4.2-branch branch for 4.2.x releases, you need to follow the instructions outlined in the release checklist. This includes reviewing the changes made in the 4.2.x releases, updating the branch, and submitting the updated branch for review and approval.

Q: What is the purpose of the v4.2-branch branch for 4.2.x releases?

A: The v4.2-branch branch for 4.2.x releases is used to document the changes and updates made in the 4.2.x releases. It provides a summary of the new features, bug fixes, and other changes made in the 4.2.x releases, as well as information on how to migrate from the previous release.