Skip to content

Conversation

@devcorpio
Copy link
Contributor

@devcorpio devcorpio commented Jul 31, 2023

Context

Lerna will not bump the minor version of a package if there are no files modified within that specific package, even if the commit contain "feat(specific-package)"

That is understandable from a technical standpoint but not from a user standpoint, at least in the case of rum-core and rum

The upcoming release among other things will contain a new feature (the redirect span). The logic modified belongs to rum-core, so it's generating a minor bump in the package rum-core, but not in the one that users will download (apm-rum), so instead of 5.13.1 as it was generating it should create 5.14.0. to clearly highlight that contains a new feature.

Needless to say that it wasn't the end of the world, in the past we have done releases without taking that into consideration. Despite that, I believe we should start being more mindful of semantic versioning.

Changes

A dummy commit within the package rum, to force the minor versioning bump

cc: @vigneshshanmugam

@devcorpio devcorpio requested a review from amannocci July 31, 2023 09:49
@devcorpio devcorpio merged commit 8a656b7 into main Jul 31, 2023
@devcorpio devcorpio deleted the force-rum-minor-version-bump branch July 31, 2023 10:24
Copy link
Member

@vigneshshanmugam vigneshshanmugam left a comment

Choose a reason for hiding this comment

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

Not sure if this was the case before and how lerna works.

I would confirm again as this would be generated in release notes and we have done so many releases in the past where we did not need this back.

@devcorpio
Copy link
Contributor Author

devcorpio commented Jul 31, 2023

I believe that having feat(rum): force minor version bump rum package in the apm-rum changelog shouldn't be a problem, because, at the end of the day, the release notes our users care about are the ones we published manually.

In the past, we have many examples where we released features having only a bump of the patch version.

A few examples:

https://www.elastic.co/guide/en/apm/agent/rum-js/current/release-notes-5.x.html#release-notes-5.11.1
https://www.elastic.co/guide/en/apm/agent/rum-js/current/release-notes-5.x.html#release-notes-5.10.1
https://www.elastic.co/guide/en/apm/agent/rum-js/current/release-notes-5.x.html#release-notes-5.6.3 (you can see here how a feat(rum) commit didn't trigger the minor version, that happened because there weren't changes in the apm-rum package)
https://www.elastic.co/guide/en/apm/agent/rum-js/current/release-notes-5.x.html#release-notes-5.2.1

I believe our users should see a minor version when this happens. (I know, it's not a serious big deal, but I believe we should follow semantic versioning as far as possible)

With this, we will make sure the version will be 5.14.0 and also will create the proper tag (already confirmed with dry-run)

This will be the released versions:

Changes: - @elastic/apm-rum-angular: 3.0.0 => 3.0.1 - @elastic/apm-rum-core: 5.18.0 => 5.19.0 - @elastic/apm-rum-react: 1.4.3 => 1.4.4 - @elastic/apm-rum-vue: 2.1.3 => 2.1.4 - @elastic/apm-rum: 5.13.0 => 5.14.0 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

4 participants