From 3389a8fdc6c10f249835a702ffebfc6182a34e8e Mon Sep 17 00:00:00 2001 From: stakx Date: Thu, 28 Sep 2017 22:13:20 +0200 Subject: [PATCH] Adopt assembly versioning scheme 'major.minor.0.0' The rationale behind this is that we don't want changes in the patch version to result in a different strong name; patches should be in- place updates and shouldn't lead to version conflicts. This will help reduce the need for assembly binding redirects. For now, we only do 'major.minor.0.0' instead of 'major.0.0.0' (which would be even better) and we increase the minor version by 1 to pre- vent strange-looking binding redirects like these: 4.0.0.0 - 4.7.127.0 -> 4.0.0.0 4.0.0.0 - 4.7.127.0 -> 4.7.0.0 In both cases, the following will probably look less suspicious: 4.0.0.0 - 4.7.127.0 -> 4.8.0.0 Moq 5 will be able to safely make the switch to 'major.0.0.0'. --- CHANGELOG.md | 5 ++++- GitInfo.txt | 2 +- Moq.nuspec | 4 ++-- Source/Properties/AssemblyInfo.cs | 4 ++-- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ef428739d..26d9ffd8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,9 @@ All notable changes to this project will be documented in this file. The format is loosely based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). -## Unreleased +## 4.8.0-rc1 + +This is a pre-release version. #### Added @@ -26,6 +28,7 @@ The format is loosely based on [Keep a Changelog](http://keepachangelog.com/en/1 * **Breaking change:** `SetupSequence` now overrides pre-existing setups like all other `Setup` methods do. This means that exhausted sequences no longer fall back to previous setups to produce a "default" action or return value. (@stakx, #476) * Delegates passed to `Returns` are validated a little more strictly than before (return type and parameter count must match with method being set up) (@stakx, #520) +* Change assembly versioning scheme to `major.minor.0.0` to help prevent assembly version conflicts and to reduce the need for binding redirects (@stakx, #424) #### Fixed diff --git a/GitInfo.txt b/GitInfo.txt index f6cdf4098..d5c14bbcd 100644 --- a/GitInfo.txt +++ b/GitInfo.txt @@ -1 +1 @@ -4.7.0 +4.8.0-rc1 diff --git a/Moq.nuspec b/Moq.nuspec index 466c50ca0..3f2cb6608 100644 --- a/Moq.nuspec +++ b/Moq.nuspec @@ -2,7 +2,7 @@ Moq - 4.7 + 4.8.0-rc1 Moq: an enjoyable mocking library Daniel Cazzulino, kzu Daniel Cazzulino, Clarius Labs, kzu @@ -11,7 +11,7 @@ false Moq is the most popular and friendly mocking framework for .NET moq tdd mocking mocks unittesting agile unittest - A changelog is available at https://github.com/moq/moq4/blob/master/CHANGELOG.md. + A changelog is available at https://github.com/moq/moq4/blob/v4.8.0-rc1/CHANGELOG.md. diff --git a/Source/Properties/AssemblyInfo.cs b/Source/Properties/AssemblyInfo.cs index fb7ee2a6c..273fef2a8 100644 --- a/Source/Properties/AssemblyInfo.cs +++ b/Source/Properties/AssemblyInfo.cs @@ -9,9 +9,9 @@ [assembly: AssemblyProduct("Moq")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] -[assembly: AssemblyVersion (ThisAssembly.Git.SemVer.Major + "." + ThisAssembly.Git.SemVer.Minor + "." + ThisAssembly.Git.SemVer.Patch)] +[assembly: AssemblyVersion (ThisAssembly.Git.SemVer.Major + "." + ThisAssembly.Git.SemVer.Minor + ".0.0")] [assembly: AssemblyFileVersion (ThisAssembly.Git.SemVer.Major + "." + ThisAssembly.Git.SemVer.Minor + "." + ThisAssembly.Git.SemVer.Patch)] -[assembly: AssemblyInformationalVersion (ThisAssembly.Git.SemVer.Major + "." + ThisAssembly.Git.SemVer.Minor + "." + ThisAssembly.Git.SemVer.Patch + "-" + ThisAssembly.Git.Branch + "+" + ThisAssembly.Git.Commit)] +[assembly: AssemblyInformationalVersion (ThisAssembly.Git.SemVer.Major + "." + ThisAssembly.Git.SemVer.Minor + "." + ThisAssembly.Git.SemVer.Patch + "-" + ThisAssembly.Git.SemVer.Label + "+" + ThisAssembly.Git.Commit)] [assembly: ComVisible(false)]