Skip to content

feat: clarify major release steps - #937

Open
utnapischtim wants to merge 1 commit into
inveniosoftware:masterfrom
utnapischtim:major-release-steps
Open

feat: clarify major release steps#937
utnapischtim wants to merge 1 commit into
inveniosoftware:masterfrom
utnapischtim:major-release-steps

Conversation

@utnapischtim

Copy link
Copy Markdown
Contributor

No description provided.

@ntarocco ntarocco left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for clarifying all this. I have added a few comments to make sure that the text is well understood by everyone.

[maintenance-policy](../../releases/maintenance-policy.md). The development is
done on betaXX.devXX tags on master. Since invenio-app-rdm represents the
product InvenioRDM it uses a slightly different versioning schema. It still
follows the semver rules of versioning, but not on he major versions but on the

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
follows the semver rules of versioning, but not on he major versions but on the
follows the semver rules of versioning, but not on the major versions

this sentence is difficult to understand with the double but, can you please rephrase it?

product InvenioRDM it uses a slightly different versioning schema. It still
follows the semver rules of versioning, but not on he major versions but on the
beta versions. This means: releasing a new major version (e.g. v14.0) starts on
the master branch the tagging of beta versions (e.g. v15.0.0b0.dev0). The new

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean with the master branch the tagging of beta versions?

### Module releases

Doing a new major release of a module starts a major release chain. A module
supports only 1 major version of another module. This means doing a major break

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
supports only 1 major version of another module. This means doing a major break
supports only 1 major version of another module. This means doing a major release

in a low level package as `invenio-db` starts a long major release chain up to
invenio-app-rdm.

TODO: picture of the graph?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure that a picture is needed here.


### Initial iteration
The product release cycle starts with the release of the major version. This
means that from the date of the major version the new development cycly starts.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
means that from the date of the major version the new development cycly starts.
means that from the date of the major version a new development cycle starts.

### Initial iteration
The product release cycle starts with the release of the major version. This
means that from the date of the major version the new development cycly starts.
The release should take place in the first 2 weeks in July. The feature freeze

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The release should take place in the first 2 weeks in July. The feature freeze
A major release normally takes place in July. The features freeze

Comment on lines +74 to +75
in the first two weeks of June. The considering for feature freeze PR's deadline
takes place in the first weeks of April.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The last sentence is not very clear to me. Could you please clarify what is happening n April?

Suggested change
in the first two weeks of June. The considering for feature freeze PR's deadline
takes place in the first weeks of April.
in June. The considering for feature freeze PR's deadline takes place in the first weeks of April.

Comment on lines +87 to +92
The master branch will get a new major release. Yes it could be that the
master branch will get a major version without any real changes on the master
branch and therefor not follow semver in some points. But for the product
InvenioRDM and it's further development it is easier to do it that way. It
enables to merge breaking changes directly after the feature freeze and not
affecting the release of the product.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The master branch will get a new major release. Yes it could be that the
master branch will get a major version without any real changes on the master
branch and therefor not follow semver in some points. But for the product
InvenioRDM and it's further development it is easier to do it that way. It
enables to merge breaking changes directly after the feature freeze and not
affecting the release of the product.
The master branch will get a new major release, even without significant changes (in this case, semver is not strictly followed). This approach allows merging unrelated breaking changes after the features freeze, without affecting an ongoing release.

Comment on lines +164 to +166
Bugfixes and features are developed against the master branch and merged into
that branch first. Then the bugfix or feature is backported to the `maint-vX.Y`
branch.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Bugfixes and features are developed against the master branch and merged into
that branch first. Then the bugfix or feature is backported to the `maint-vX.Y`
branch.
Bugfixes and features are developed from and merged into the master branch. Then, they are backported to the `maint-vX.Y` branch.

@fenekku fenekku added this to v14 Jun 17, 2026
@fenekku fenekku moved this to 👀 In review in v14 Jun 17, 2026
@fenekku fenekku changed the title wip feat: clarify major release steps Jun 22, 2026

@fenekku fenekku left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

v14 cleanup

I think I understand what is described, but it is hard to parse in part because the original file is lacking a clearer cookbook/how-to style. By providing any information outside these steps as asides in info boxes, we can make this a more straightforward recipe with scattered explanations.

I don't consider this a blocker for v14 docs, so placing it aside for now.

Comment on lines 20 to 21
- an instance template, [cookiecutter-invenio-rdm](https://github.com/inveniosoftware/cookiecutter-invenio-rdm)
- an application, [invenio-app-rdm](https://github.com/inveniosoftware/invenio-app-rdm)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the 2 are merged below, would merge here too:

Suggested change
- an application: the combination of an instance template, [cookiecutter-invenio-rdm](https://github.com/inveniosoftware/cookiecutter-invenio-rdm)
and the main module [invenio-app-rdm](https://github.com/inveniosoftware/invenio-app-rdm) collecting and configuring the others

cookiecutter-invenio-rdm. This branch is used when `invenio-cli init -c v14.0`
is used to init a new InvenioRDM instance)

A new major version of invenio-app-rdm is released once a year. see

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A new major version of invenio-app-rdm is released once a year. see
A new major version of invenio-app-rdm is released once a year. See the

is used to init a new InvenioRDM instance)

A new major version of invenio-app-rdm is released once a year. see
[maintenance-policy](../../releases/maintenance-policy.md). The development is

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[maintenance-policy](../../releases/maintenance-policy.md). The development is
[maintenance-policy](../../releases/maintenance-policy.md). Development is

A new major version of invenio-app-rdm is released once a year. see
[maintenance-policy](../../releases/maintenance-policy.md). The development is
done on betaXX.devXX tags on master. Since invenio-app-rdm represents the
product InvenioRDM it uses a slightly different versioning schema. It still

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
product InvenioRDM it uses a slightly different versioning schema. It still
product InvenioRDM it uses a slightly different versioning schema than other modules. It still

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

3 participants