Replies: 3 comments 1 reply
-
Keen to see where this ends up - I've had similar issues with versioning, and haven't come to a good solution. Would be great to see consistency across packages too! |
Beta Was this translation helpful? Give feedback.
-
I'd also say go with option 1. 👍 I suspect that I've become accustom to that uSync versioning pattern over the years - more so about the majors, I pay less attention to the minor/patch numbers. re: v9 /v10 - my gut feeling is that v9 would be viewed as a stepping stone to v10 (for LTS) - so yes, when v10 is out, halt on v9 support, as v10 should be easy to upgrade to. _(right?) For Contentment, I've gone with independent versioning - with a note on the repo's README explaining which Umbraco version it supports. The main reason was that I ended up doing .NET multi-targeting for v8/v9, but also that Contentment was still on v1 when Umbraco v9 was released, so bumping up the major to an 8 or 9 felt far too much. Thinking further back, with uComponents, I made an Umbraco compatibility grid - a matrix of which package version worked on which Umbraco version. A bit of a mind boggle at the time. 🤷 |
Beta Was this translation helpful? Give feedback.
-
I also thought about this a lot for my own packages and decided to go with my own major version with each umbraco major version, thats why I would go with option 1. From the user perspective I feel that it is easier to know which version I need to install. |
Beta Was this translation helpful? Give feedback.
-
Versioning is something we have stuggled with for quite a long time now.
Independent versioning
Pre version eight of Umbraco we use to have our own version number - so we have uSync v1 - v4 supporting different versions of Umbraco v4.5 through to v7.15.x. While this was alright it was confusing for people to know exactly what version of uSync worked with what version of Umbraco.
v8/v9 version parity
For Umbraco v8/v9- we decided to sync the version of uSync - so uSync v8.x works with Umbraco v8 and v9 works with Umbraco v9.
v8 Exact Matching
For Umbraco v8 we initially followed this exactly so When Umbraco released a new feature in v8.4 we bumped the next version of uSync to v8.4 this has a few advantages and issues:
Advantages:
Disadvantages
v8/v9 Major version match , minor independent
At around Umbraco v8.4 we decided that sticking with the exact version was to restrictive, so we let the minor version of Umbraco side out. as such uSync is now at v8.11.0 while Umbraco is at v8.18.0.
Our rule now is we update minor if we introduce new features / change the file format, we still try not to make breaking changes so the major version is ok.
Umbraco's new Release Schedule
With the move to dotnet core Umbraco's release schedule has changed - there will now be a new major version of Umbraco every 6 months ! with minor versions every 6 weeks?
What we are considering now is how will versioning work going forward ?
v10 - Long Term support
Things to note at this time:
Options
We are currently thinking about two or Three support avenues.
1. uSync Major to match Umbraco Major
We release a v10 to support Umbraco v10, uSync v11 supports v11 ... etc
2. Release a hybrid package that supports across multiple versions
A single 'version' of uSync that supports Umbraco 9 and 10 (and 11, 12) until we are forced into a new version by a major change (e.g the new Umbraco UI)
Would offer better support to people running Umbraco v9.
We could continue to offer new features to v9 and v10 for longer
Code maintability would be easier with less branching for 'live' versions.
Would require multi-targeting the code for .net5 and .net6 (we have some of this in place already)
Would limit us if we want to use .net 6/7 features
Supporting new Umbraco features in v10/v11 would need to be backwards compatibly (likely lots of reflection in the code)
3. Major releases on LTS versions of Umbraco
A sort of mix - we would release uSync v10 for umbraco v10, and then try to make that version support the intermedite versions (eg. v11, v12 , v13 of Umbraco.) and release the next version to support v14 through to v17.
Summary
At the moment we are probably leaning towards option 1 - mainly because we like the idea of having the version maintain parity and it being easy to see that we support the latest version of Umbraco (good for support and marketing).
but we are still thinking and are seeking input.
Beta Was this translation helpful? Give feedback.
All reactions