-
-
Notifications
You must be signed in to change notification settings - Fork 368
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: allow up to 4 integers in version #350
Conversation
Thanks for the PR @viclai ! I think the main issue here is to fix the chrome allowed version and not so much the extension version. I would like to keep the manifest version format to adhere to semver, but let's incorporate your fix for the chrome version! |
@louisgv, I actually opened this pull request in hopes of being able to have the flexibility to specify a fourth integer in the version specified for my Chrome extension (i.e. |
@viclai interesting - what's your use case for the 4th number in the version? I suppose we can lessen the restriction on this since it wouldn't change the behavior of our bundler. Just wanted to be aware of the reasoning :D |
@louisgv, we're thinking about using the 4th number to differentiate versions for builds that we distribute internally (before uploading and publishing to the Chrome web store). Our ideal workflow is somewhat similar to what is mentioned about release candidates in the following link. |
Hmm... Actually, I'd recommend sticking to semver if that is the case. The released version should track the code change and the release build. If there was some patch released internally, simply bump the patch number. And then, when it's time to release to the public, bump the patch again (or the minor) - the latest version number would contain the diff from the last to the latest. Each version should represent a new build (internal or external) for your extension anyway, so why not keep it linear. To differentiate the naming/env of the version, use the The key reason I'm against diverting from semver is that, based on my exp, 3 numbers are more than enough for tracking code-build. Adding another number leads to miscommunication or process bypassing. For my extension, I bump minor when I release to chrome store. Otherwise for local test and Itero I just have the patch version rolling with my commit/push. RE: internal extension - check out Itero if you haven't - we integrate with GitHub and automatically bump patch for each push to a staging branch so you can continuously test with your team (esp for stakeholders who don't need to worry about the code). Docs: https://docs.plasmo.com/itero |
@louisgv, those are fair points! We haven't necessarily settled on a good convention for how we want to bump the extension version in our continuous workflow, but I was just wondering if we can support this level of flexibility (in case we want to use it later). We actually are currently using the With all that being said, I'm happy to make this fix for just
This might be a separate conversation, but I'd be interested to see a demo before we commit/subscribe to Itero. 😄 |
Let's have this PR handle the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seasoned and ready to be served 👨🍳
Details
As per the following docs, the version specified in the manifest can have up to 4 integers (separated by dots).
https://developer.chrome.com/docs/extensions/mv3/manifest/version/
https://developer.chrome.com/docs/extensions/mv3/manifest/minimum_chrome_version/
The schema currently only allows up to 3, so I updated the validation logic to allow up to 4.
Code of Conduct