Proposal: Shared Major.Minor.Patch versioning across all packages #4352
Replies: 2 comments 1 reply
-
|
I think this is a great idea in general, however wouldn't it be better to limit this to all Microsoft.Data.SqlClient* packages and version Microsoft.SqlServer.Server independently? Microsoft.SqlServer.Server is very unlikely to receive changes and thus, aligning the version would only cause work for all the consumers without real benefit. Or am I missing something? |
Beta Was this translation helpful? Give feedback.
-
|
We will be rolling out this package version alignment with the 7.0.2 release. I have updated the above main discussion accordingly. You can see the related changes for the hotfix release in PR #4389. We will be making further version alignment and consolidation changes on main to make the versioning process much simpler going forward. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
We are proposing that all SqlClient family of packages produced from this repository share a single Major.Minor.Patch version. This alignment would take effect at 7.0.2.
The
Microsoft.SqlServer.Serverpackage will keep its existing versioning scheme.Current State
Today each package is versioned independently, for example:
While SqlClient and the AKV provider already share a major.minor, the remaining packages are at 1.x with no inherent compatibility signal tying them together.
Proposed Model
Starting at 7.0.2, all packages would share the same Major.Minor.Patch.
For example:
7.0.27.0.2At the next feature release, all packages move to
8.0.0together.A breaking change in any package triggers the next major for all packages.
Motivation
7.0.3of any package is compatible with any other7.0.2. No compatibility matrix needed.Microsoft.Extensions.*all share major.minor and ship together at each wave).What Changes
Versions.propsderives its version from the shared property plus its own patch counter.SNI Packages
The native SNI packages (
Microsoft.Data.SqlClient.SNIandMicrosoft.Data.SqlClient.SNI.runtime) are worth discussing separately:Arguments for including SNI in the band:
Arguments for keeping SNI independent:
Our inclination: Include SNI in the band, which keeps versions consistent and compatiblity obvious.
Impact on Consumers
Feedback Welcome
We'd like community input on this change before proceeding. Please share your thoughts, concerns, or questions below.
Beta Was this translation helpful? Give feedback.
All reactions