Re: [docs][PATCH V2 3/3] ref-manual/release-process.rst: add patch acceptance policies and stable point release upgrades

ChenQi <[email protected]>
Newsgroups org.yoctoproject.lists.docs
Message-ID <[email protected]>
Hi Antonin,

Thanks for you review.
I'll send out V3 according to your suggestions.
For answers to your questions, see comments inline.

On 6/16/26 22:47, Antonin Godard via lists.yoctoproject.org wrote:
> Hi,
>
> On Tue Jun 16, 2026 at 7:20 AM CEST, Chen Qi via lists.yoctoproject.org wrote:
>> From: Chen Qi <[email protected]>
>>
>> Document patch acceptance policies and stable point release upgrades,
>> including criteria for qualifying upstreams and how stable release
>> regexes constrain version checks.
>>
>> Signed-off-by: Chen Qi <[email protected]>
>> ---
>>   documentation/ref-manual/release-process.rst | 114 +++++++++++++++++++
>>   1 file changed, 114 insertions(+)
>>
>> diff --git a/documentation/ref-manual/release-process.rst b/documentation/ref-manual/release-process.rst
>> index a55187c14..fa712869a 100644
>> --- a/documentation/ref-manual/release-process.rst
>> +++ b/documentation/ref-manual/release-process.rst
>> @@ -127,6 +127,120 @@ stable release.
>>      exception to this policy occurs when there is a strong reason such as
>>      the fix happens to also be the preferred upstream approach.
>>   
>> +.. _ref-stable-lts-patch-acceptance-policies:
>> +
>> +Stable/LTS Patch Acceptance Policies
>> +=====================================
>> +
>> +All changes must have already been accepted into the current master release
>> +and any other release still within its stable support window.
>> +
>> +**Acceptable:**
>> +
>> +-  Security and CVE fixes
>> +-  Fixes for bugs
>> +-  Version updates which follow an upstream stable series or LTS that aligns with
>> +   the original release (based on compatibility). See
>> +   :ref:`ref-manual/release-process:stable point release upgrades` for details.
>> +
>> +.. note::
>> +
>> +   Once :term:`UPSTREAM_STABLE_RELEASE_REGEX` has been accepted for a recipe,
>> +   version upgrades matching the accepted pattern are considered acceptable
>> +   by default (with the usual ability to reject if upstream fails to follow
>> +   their own stable guidelines).
>> +
>> +**Potentially acceptable:**
>> +
>> +-  Fixes so the codebase works with newly released distros
> I'm not sure I understand this. Could you expand this with an example?
I think a typical example is uninative-tarball updates. I'll add this 
example.
>
>> +
>> +**Unacceptable:**
>> +
>> +-  General version upgrades
>> +-  New features
>> +-  ABI/API breakage
>> +-  Metadata improvements and refactoring, unless this is a dependency of a
>> +   required fix
>> +
> Should we also mention that some backports / patches can be exceptions to these
> rules if it is approved by the TSC?
Got it. I'll add a note here that exceptions must be approved by the TSC.
>
>> +.. _ref-stable-point-release-upgrades:
>> +
>> +Stable Point Release Upgrades
>> +=============================
>> +
>> +Some upstream projects maintain stable branches that only collect bug fixes
>> +and security patches — similar to the Yocto Project's own stable release
> s/—/---/
>
> Did you use an LLM to work on these patches? If so, please mention it with the
> AI-Generated patch trailer as per our policy:
> https://docs.yoctoproject.org/contributor-guide/submit-changes.html#acceptance-of-ai-generated-code
Yes. Thanks for the info.
>
>> +policy. For recipes tracking such upstreams, it is possible to perform
>> +*stable point release upgrades* (e.g. upgrading from 1.0.2 to 1.0.3) rather
>> +than only accepting backported patches. This is the mechanism behind the
>> +"acceptable: version updates which follow an upstream stable series" policy above.
>> +
>> +Criteria for Qualifying Upstreams
>> +---------------------------------
>> +
>> +Setting :term:`UPSTREAM_STABLE_RELEASE_REGEX` for a recipe means that certain
>> +version upgrades can be confidently treated as stable point upgrades under
>> +OpenEmbedded's criteria. The Automated Upgrade Helper (AUH) will then
> Link to AUH maybe:
>
> s/The Automated Upgrade Helper (AUH)/The :ref:`Automated Upgrade Helper (AUH) <dev-manual/upgrading-recipes.:Using the Auto Upgrade Helper (AUH)>`/

I read the README file 
(https://git.yoctoproject.org/yocto-docs/tree/documentation/README?id=768cbc958#n31) 
before I started modifying things.

I thought "self-contained" means no reference to other manuals. But I 
just grepped ref-manual and it does reference other manuals.

I'll modify this in V3.

>
>> +automatically send patches to upgrade recipes with this variable set during
>> +stable releases.
>> +
>> +.. note::
>> +
>> +   Patches to upgrade recipes without this variable may still be submitted
>> +   for stable branches, but the barrier for acceptance is high. The commit
>> +   message needs to justify that the version upgrade follows our stable
>> +   branch policy or that there is an exceptional reason for taking the
>> +   upgrade.
>> +
>> +A recipe may have :term:`UPSTREAM_STABLE_RELEASE_REGEX` set based on the
>> +following criteria:
>> +
>> +1. **Upstream stable branches exist** --- the upstream project maintains
>> +   branches named with a stable version component, and there is evidence
>> +   that these branches only collect bug-fix and security-fix changes
>> +   (no new features or ABI/API breakage). For example, util-linux version
>> +   ``2.41.3`` has three parts in its version and upstream has branches like
>> +   ``stable/v2.41`` with two parts. This demonstrates that bumps in the
>> +   third part (e.g. ``2.41.3`` to ``2.41.4``) are stable point releases.
>> +   Similarly, systemd maintains ``stable/v259-stable``.
>> +
>> +2. **Upstream maintainer confirmation** --- the upstream project's maintainer
>> +   explicitly confirms that a bump in a certain part of the version is
>> +   bug-fix only.
>> +
>> +3. **Clear historical or common-sense evidence** --- the project's change
>> +   history clearly shows that a certain class of version bump is bug-fix
>> +   only, or it is widely understood convention. For example, openssh's
>> +   ``p`` suffix increments (``10.2p1`` to ``10.2p2``) and kmod's patch-level
>> +   bumps are historically bug-fix only releases.
>> +
>> +.. note::
>> +
>> +   Patches to set :term:`UPSTREAM_STABLE_RELEASE_REGEX` are sent against the
>> +   master branch first and follow the normal review process. Once accepted on
>> +   master they may be backported to stable release branches. Exceptions may be
>> +   made when necessary, e.g. setting :term:`UPSTREAM_STABLE_RELEASE_REGEX` on
>> +   a stable branch for a recipe which has since been removed on master.
>> +
>> +How Stable Release Regexes Work
>> +-------------------------------
>> +
>> +The stable point upgrade mechanism uses a *filter regex* to constrain the
>> +upstream version check so that only versions within the same stable series
>> +are considered. When a recipe sets :term:`UPSTREAM_STABLE_RELEASE_REGEX`, the
>> +version-checking infrastructure in BitBake's fetchers (git, wget, crate)
>> +applies that regex to filter discovered upstream versions. Only versions
>> +matching the regex are considered as upgrade candidates.
>> +
>> +For example, if a recipe is currently at version ``1.4.2`` and the regex is
>> +``^1\.4(\.\d+)*$``, then version ``1.4.7`` would be a valid upgrade candidate
>> +but ``1.5.0`` would not.
>> +
>> +For recipes whose version uses a dot-separated scheme, the
>> +:ref:`ref-classes-upstream-stable-release-point` class can automatically
>> +generate this regex. For other versioning schemes, set
>> +:term:`UPSTREAM_STABLE_RELEASE_REGEX` directly in the recipe.
>> +
>> +
> Extra newline not needed here.

Thanks for reminding.

Regards,
Qi

>
>>   .. _ref-long-term-support-releases:
>>   
>>   Long Term Support Releases
>
> Antonin
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#9748): https://lists.yoctoproject.org/g/docs/message/9748
> Mute This Topic: https://lists.yoctoproject.org/mt/119829155/3618072
> Group Owner: [email protected]
> Unsubscribe: https://lists.yoctoproject.org/g/docs/unsub [[email protected]]
> -=-=-=-=-=-=-=-=-=-=-=-
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.