diff --git a/doc/msbuild.md b/doc/msbuild.md index 5ae13032..10b23e8a 100644 --- a/doc/msbuild.md +++ b/doc/msbuild.md @@ -2,6 +2,23 @@ Installing the `Nerdbank.GitVersioning` package from NuGet into your MSBuild-based projects is the recommended way to add version information to your MSBuild project outputs including assemblies, native dll's, and packages. +If you want the package to affect all the projects in your repo, and you use `PackageReference` (rather than `packages.config`), +you can add this to a repo-level `Directory.Build.props` file: + +```xml + + + +``` + +The condition prevents the `PackageReference` from impacting any `packages.config`-based projects +such as vcxproj that may be in your repo. +Such projects will require individual installation of the Nerdbank.GitVersioning nuget package +using the NuGet Package Manager in Visual Studio. + ## Public releases By default, each build of a Nuget package will include the git commit ID. @@ -21,6 +38,64 @@ You should only build with this property set from one release branch per major.minor version to avoid the risk of producing multiple unique NuGet packages with a colliding version spec. +## Custom build authoring + +If you are writing your own MSBuild targets or properties and need to consume version information, +Nerdbank.GitVersioning is there to help. +The version information created by this package is expressed as MSBuild properties. +These properties are set by the `GetBuildVersion` target defined in this package. +This means any dependency you have on these properties must ensure this target has already executed. +This can be done by defining your own msbuild target like so: + +```xml + + + My assembly version is: $(AssemblyVersion) + + +``` + +In the above example, the `AssemblyVersion` property, which is set by the +`GetBuildVersion` target defined by Nerdbank.GitVersioning, is used to define +another property. +It could also be used to define msbuild items or anything else you want. + +### MSBuild properties defined in `GetBuildVersion` + +Many MSBuild properties are set by `GetBuildVersion` allowing you to define or redefine +properties in virtually any format you like. +The authoritative list is [here](https://github.com/dotnet/Nerdbank.GitVersioning/blob/dae20a6d15f04d8161fd092c36fdf1f57c021ba1/src/Nerdbank.GitVersioning.Tasks/GetBuildVersion.cs#L300-L323) (switch to the default branch to see the current set). + +Below is a snapshot of the properties with example values. +Note that the values and formats can vary depending on your `version.json` settings and version height. + +Property | Example value +--|-- +AssemblyFileVersion | 2.7.74.11627 +AssemblyInformationalVersion | 2.7.74-alpha+6b2d14ba68 +AssemblyVersion | 2.7.0.0 +BuildingRef | refs/heads/fix299 +BuildNumber | 74 +BuildVersion | 2.7.74.11627 +BuildVersion3Components | 2.7.74 +BuildVersionNumberComponent | 74 +BuildVersionSimple | 2.7.74 +ChocolateyPackageVersion | 2.7.74-alpha-g6b2d14ba68 +CloudBuildNumber | (empty except in cloud build) +FileVersion | 2.7.74.11627 +GitCommitDateTicks | 637547960670000000 +GitCommitId | 6b2d14ba6844d2152c48268a8d2c1933759e7229 +GitCommitIdShort | 6b2d14ba68 +GitVersionHeight | 74 +MajorMinorVersion | 2.7 +NPMPackageVersion | 2.7.74-alpha.g6b2d14ba68 +NuGetPackageVersion | 2.7.74-alpha-g6b2d14ba68 +PackageVersion | 2.7.74-alpha-g6b2d14ba68 +PrereleaseVersion | -alpha +PublicRelease | False +SemVerBuildSuffix | +6b2d14ba68 +Version | 2.7.74-alpha-g6b2d14ba68 + ## Build performance Repos with many projects or many commits between major/minor version bumps can suffer from compromised build performance due to the MSBuild task that computes the version information for each project. diff --git a/doc/public_vs_stable.md b/doc/public_vs_stable.md index 3c121400..058790e0 100644 --- a/doc/public_vs_stable.md +++ b/doc/public_vs_stable.md @@ -25,7 +25,7 @@ When a branch becomes stable, the `-prerelease` tag can be removed by adding a c To remove the `-prerelease`, the version.json file must be changed to remove it. Committing this change communicates to everyone looking at the repo that this software is stable. -The natural evolution of a product includes usually includes entering and exiting a `-prerelease` stage many times, but within a branded release (usually recognized by an intentional version number like "1.2") the progression usually transitions only one direction: from `-prerelease` to stable quality. +The natural evolution of a product usually includes entering and exiting a `-prerelease` stage many times, but within a branded release (usually recognized by an intentional version number like "1.2") the progression usually transitions only one direction: from `-prerelease` to stable quality. For example, an anticipated version 1.2 might first be released to the public as 1.2-beta before releasing as 1.2 (without the `-beta` suffix). If the product is undergoing significant changes that warrant downgrading the stability rating to pre-release quality, the version number tends to be incremented at the same time. So a 1.2 product's subsequent release might appear as 1.3-beta or 2.0-beta. diff --git a/src/Cake.GitVersioning/Cake.GitVersioning.csproj b/src/Cake.GitVersioning/Cake.GitVersioning.csproj index 62f6dc01..ea18fd5e 100644 --- a/src/Cake.GitVersioning/Cake.GitVersioning.csproj +++ b/src/Cake.GitVersioning/Cake.GitVersioning.csproj @@ -8,9 +8,9 @@ andarno Cake wrapper for Nerdbank.GitVersioning. Stamps your assemblies with semver 2.0 compliant git commit specific version information and provides NuGet versioning information as well. Copyright (c) .NET Foundation and Contributors - git commit versioning version assemblyinfo - https://cdn.jsdelivr.net/gh/cake-contrib/graphics/png/cake-contrib-medium.png - cake-contrib-medium.png + git commit versioning version assemblyinfo cake-addin + https://cdn.jsdelivr.net/gh/cake-contrib/graphics/png/addin/cake-contrib-addin-medium.png + cake-contrib-addin-medium.png http://github.com/dotnet/Nerdbank.GitVersioning false @@ -36,7 +36,7 @@ - + diff --git a/src/Cake.GitVersioning/cake-contrib-addin-medium.png b/src/Cake.GitVersioning/cake-contrib-addin-medium.png new file mode 100644 index 00000000..84c2a823 Binary files /dev/null and b/src/Cake.GitVersioning/cake-contrib-addin-medium.png differ diff --git a/src/Cake.GitVersioning/cake-contrib-medium.png b/src/Cake.GitVersioning/cake-contrib-medium.png deleted file mode 100644 index 9881edc4..00000000 Binary files a/src/Cake.GitVersioning/cake-contrib-medium.png and /dev/null differ diff --git a/src/NerdBank.GitVersioning.Tests/GitExtensionsTests.cs b/src/NerdBank.GitVersioning.Tests/LibGit2GitExtensionsTests.cs similarity index 95% rename from src/NerdBank.GitVersioning.Tests/GitExtensionsTests.cs rename to src/NerdBank.GitVersioning.Tests/LibGit2GitExtensionsTests.cs index 7a8704dc..b01ce4da 100644 --- a/src/NerdBank.GitVersioning.Tests/GitExtensionsTests.cs +++ b/src/NerdBank.GitVersioning.Tests/LibGit2GitExtensionsTests.cs @@ -1,4 +1,5 @@ using System; +using System.Buffers.Binary; using System.Collections.Generic; using System.Diagnostics; using System.IO; @@ -11,9 +12,9 @@ using Xunit.Abstractions; using Version = System.Version; -public partial class GitExtensionsTests : RepoTestBase +public class LibGit2GitExtensionsTests : RepoTestBase { - public GitExtensionsTests(ITestOutputHelper Logger) + public LibGit2GitExtensionsTests(ITestOutputHelper Logger) : base(Logger) { this.InitializeSourceControl(); @@ -166,22 +167,6 @@ public void GetVersionHeight_ProgressAndReset(string version1, string version2, Assert.Equal(!versionHeightReset, height2 > height1); } - [Fact] - public void GetTruncatedCommitIdAsInteger_Roundtrip() - { - var firstCommit = this.LibGit2Repository.Commit("First", this.Signer, this.Signer, new CommitOptions { AllowEmptyCommit = true }); - var secondCommit = this.LibGit2Repository.Commit("Second", this.Signer, this.Signer, new CommitOptions { AllowEmptyCommit = true }); - - int id1 = firstCommit.GetTruncatedCommitIdAsInt32(); - int id2 = secondCommit.GetTruncatedCommitIdAsInt32(); - - this.Logger.WriteLine($"Commit {firstCommit.Id.Sha.Substring(0, 8)} as int: {id1}"); - this.Logger.WriteLine($"Commit {secondCommit.Id.Sha.Substring(0, 8)} as int: {id2}"); - - Assert.Equal(firstCommit, this.LibGit2Repository.GetCommitFromTruncatedIdInteger(id1)); - Assert.Equal(secondCommit, this.LibGit2Repository.GetCommitFromTruncatedIdInteger(id2)); - } - [Fact] public void GetIdAsVersion_ReadsMajorMinorFromVersionTxt() { @@ -384,6 +369,19 @@ public void GetIdAsVersion_Roundtrip_UnstableOffset(int startingOffset, int offs } } + [Fact] + public void GetCommitsFromVersion_MatchesOnEitherEndian() + { + this.InitializeSourceControl(); + Commit commit = this.WriteVersionFile(new VersionOptions { Version = SemanticVersion.Parse("1.2"), GitCommitIdShortAutoMinimum = 4 }); + + Version originalVersion = new VersionOracle(this.Context).Version; + Version swappedEndian = new Version(originalVersion.Major, originalVersion.Minor, originalVersion.Build, BinaryPrimitives.ReverseEndianness((ushort)originalVersion.Revision)); + ushort twoBytesFromCommitId = checked((ushort)originalVersion.Revision); + Assert.Contains(commit, LibGit2GitExtensions.GetCommitsFromVersion(this.Context, originalVersion)); + Assert.Contains(commit, LibGit2GitExtensions.GetCommitsFromVersion(this.Context, swappedEndian)); + } + [Fact] public void GetIdAsVersion_Roundtrip_WithSubdirectoryVersionFiles() { diff --git a/src/NerdBank.GitVersioning.Tests/ManagedGit/GitObjectIdTests.cs b/src/NerdBank.GitVersioning.Tests/ManagedGit/GitObjectIdTests.cs index c06d8f67..baeb4ff7 100644 --- a/src/NerdBank.GitVersioning.Tests/ManagedGit/GitObjectIdTests.cs +++ b/src/NerdBank.GitVersioning.Tests/ManagedGit/GitObjectIdTests.cs @@ -93,7 +93,7 @@ public void AsUInt16Test() { // The hash code is the int32 representation of the first 4 bytes var objectId = GitObjectId.ParseHex(this.shaAsHexAsciiByteArray); - Assert.Equal(0x914e, objectId.AsUInt16()); + Assert.Equal(0x4e91, objectId.AsUInt16()); Assert.Equal(0, GitObjectId.Empty.GetHashCode()); } diff --git a/src/NerdBank.GitVersioning.Tests/ReleaseManagerTests.cs b/src/NerdBank.GitVersioning.Tests/ReleaseManagerTests.cs index c95500bf..fb3e248c 100644 --- a/src/NerdBank.GitVersioning.Tests/ReleaseManagerTests.cs +++ b/src/NerdBank.GitVersioning.Tests/ReleaseManagerTests.cs @@ -392,12 +392,30 @@ public void PrepareRelease_MasterWithVersionDecrement(string initialVersion, str this.WriteVersionFile(versionOptions); // running PrepareRelease should result in an error - // because we're trying to add a prerelease tag to a version without prerelease tag + // because we're setting the version on master to a lower version this.AssertError( () => new ReleaseManager().PrepareRelease(this.RepoPath, releaseUnstableTag, (nextVersion is null ? null : Version.Parse(nextVersion))), ReleasePreparationError.VersionDecrement); } + [Theory] + [InlineData("1.2", "1.2")] + public void PrepareRelease_MasterWithoutVersionIncrement(string initialVersion, string nextVersion) + { + // create and configure repository + this.InitializeSourceControl(); + + // create version.json + var versionOptions = new VersionOptions() { Version = SemanticVersion.Parse(initialVersion) }; + this.WriteVersionFile(versionOptions); + + // running PrepareRelease should result in an error + // because we're trying to set master to the version it already has + this.AssertError( + () => new ReleaseManager().PrepareRelease(this.RepoPath, null, (nextVersion is null ? null : Version.Parse(nextVersion))), + ReleasePreparationError.NoVersionIncrement); + } + [Fact] public void PrepareRelease_DetachedHead() { diff --git a/src/NerdBank.GitVersioning.Tests/TestUtilities.cs b/src/NerdBank.GitVersioning.Tests/TestUtilities.cs index 6d61fbf1..6ea6efc3 100644 --- a/src/NerdBank.GitVersioning.Tests/TestUtilities.cs +++ b/src/NerdBank.GitVersioning.Tests/TestUtilities.cs @@ -79,6 +79,10 @@ internal static ExpandedRepo ExtractRepoArchive(string repoArchiveName) } } + internal static string ToHex(ushort number) => number.ToString("X"); + + internal static ushort FromHex(string hex) => ushort.Parse(hex, System.Globalization.NumberStyles.HexNumber); + internal class ExpandedRepo : IDisposable { internal ExpandedRepo(string repoPath) diff --git a/src/NerdBank.GitVersioning.Tests/VersionOracleTests.cs b/src/NerdBank.GitVersioning.Tests/VersionOracleTests.cs index 4f10abf1..1e0fc51f 100644 --- a/src/NerdBank.GitVersioning.Tests/VersionOracleTests.cs +++ b/src/NerdBank.GitVersioning.Tests/VersionOracleTests.cs @@ -845,6 +845,23 @@ public void GitCommitIdShort() } } + [Fact] + public void GitCommidIdLeading16BitsDecodedWithBigEndian() + { + this.WriteVersionFile(new VersionOptions { Version = SemanticVersion.Parse("1.2"), GitCommitIdShortAutoMinimum = 4 }); + this.InitializeSourceControl(); + this.AddCommits(1); + var oracle = new VersionOracle(this.Context); + + string leadingFourChars = this.Context.GitCommitId.Substring(0, 4); + ushort expectedNumber = TestUtilities.FromHex(leadingFourChars); + ushort actualNumber = checked((ushort)oracle.Version.Revision); + this.Logger.WriteLine("First two characters from commit ID in hex is {0}", leadingFourChars); + this.Logger.WriteLine("First two characters, converted to a number is {0}", expectedNumber); + this.Logger.WriteLine("Generated 16-bit ushort from commit ID is {0}, whose hex representation is {1}", actualNumber, TestUtilities.ToHex(actualNumber)); + Assert.Equal(expectedNumber, actualNumber); + } + [Fact(Skip = "Slow test")] public void GetVersionHeight_VeryLongHistory() { diff --git a/src/NerdBank.GitVersioning/CloudBuild.cs b/src/NerdBank.GitVersioning/CloudBuild.cs index c1025aac..e5417145 100644 --- a/src/NerdBank.GitVersioning/CloudBuild.cs +++ b/src/NerdBank.GitVersioning/CloudBuild.cs @@ -21,6 +21,7 @@ public static class CloudBuild new Jenkins(), new GitLab(), new Travis(), + new SpaceAutomation(), }; /// diff --git a/src/NerdBank.GitVersioning/CloudBuildServices/SpaceAutomation.cs b/src/NerdBank.GitVersioning/CloudBuildServices/SpaceAutomation.cs new file mode 100644 index 00000000..b3d11a0d --- /dev/null +++ b/src/NerdBank.GitVersioning/CloudBuildServices/SpaceAutomation.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.IO; + +namespace Nerdbank.GitVersioning.CloudBuildServices +{ + /// + /// SpaceAutomation CI build support. + /// + /// + /// The SpaceAutomation-specific properties referenced here are documented here: + /// https://www.jetbrains.com/help/space/automation-environment-variables.html + /// + internal class SpaceAutomation : ICloudBuild + { + public string BuildingBranch => CloudBuild.IfStartsWith(BuildingRef, "refs/heads/"); + + public string BuildingTag => CloudBuild.IfStartsWith(BuildingRef, "refs/tags/"); + + public string GitCommitId => Environment.GetEnvironmentVariable("JB_SPACE_GIT_REVISION"); + + public bool IsApplicable => this.GitCommitId is not null; + + public bool IsPullRequest => false; + + private static string BuildingRef => Environment.GetEnvironmentVariable("JB_SPACE_GIT_BRANCH"); + + public IReadOnlyDictionary SetCloudBuildNumber(string buildNumber, TextWriter stdout, TextWriter stderr) + { + return new Dictionary(); + } + + public IReadOnlyDictionary SetCloudBuildVariable(string name, string value, TextWriter stdout, TextWriter stderr) + { + return new Dictionary(); + } + } +} \ No newline at end of file diff --git a/src/NerdBank.GitVersioning/CloudBuildServices/TeamCity.cs b/src/NerdBank.GitVersioning/CloudBuildServices/TeamCity.cs index ec0cd84b..828798ee 100644 --- a/src/NerdBank.GitVersioning/CloudBuildServices/TeamCity.cs +++ b/src/NerdBank.GitVersioning/CloudBuildServices/TeamCity.cs @@ -8,8 +8,8 @@ /// TeamCity CI build support. /// /// - /// The TeamCIty-specific properties referenced here are documented here: - /// https://confluence.jetbrains.com/display/TCD8/Predefined+Build+Parameters + /// The TeamCity-specific properties referenced here are documented here: + /// https://www.jetbrains.com/help/teamcity/predefined-build-parameters.html /// internal class TeamCity : ICloudBuild { diff --git a/src/NerdBank.GitVersioning/LibGit2/LibGit2GitExtensions.cs b/src/NerdBank.GitVersioning/LibGit2/LibGit2GitExtensions.cs index 045c647a..b644803f 100644 --- a/src/NerdBank.GitVersioning/LibGit2/LibGit2GitExtensions.cs +++ b/src/NerdBank.GitVersioning/LibGit2/LibGit2GitExtensions.cs @@ -3,8 +3,8 @@ namespace Nerdbank.GitVersioning.LibGit2 { using System; + using System.Buffers.Binary; using System.Collections.Generic; - using System.Globalization; using System.IO; using System.Linq; using System.Runtime.InteropServices; @@ -97,18 +97,6 @@ public static int GetHeight(LibGit2Context context, Func? continue return GetCommitHeight(context.Commit, tracker, continueStepping); } - /// - /// Takes the first 4 bytes of a commit ID (i.e. first 8 characters of its hex-encoded SHA) - /// and returns them as an integer. - /// - /// The commit to identify with an integer. - /// The integer which identifies a commit. - public static int GetTruncatedCommitIdAsInt32(this Commit commit) - { - Requires.NotNull(commit, nameof(commit)); - return BitConverter.ToInt32(commit.Id.RawId, 0); - } - /// /// Takes the first 2 bytes of a commit ID (i.e. first 4 characters of its hex-encoded SHA) /// and returns them as an 16-bit unsigned integer. @@ -118,21 +106,7 @@ public static int GetTruncatedCommitIdAsInt32(this Commit commit) public static ushort GetTruncatedCommitIdAsUInt16(this Commit commit) { Requires.NotNull(commit, nameof(commit)); - return BitConverter.ToUInt16(commit.Id.RawId, 0); - } - - /// - /// Looks up a commit by an integer that captures the first for bytes of its ID. - /// - /// The repo to search for a matching commit. - /// The value returned from . - /// A matching commit. - public static Commit GetCommitFromTruncatedIdInteger(this Repository repo, int truncatedId) - { - Requires.NotNull(repo, nameof(repo)); - - byte[] rawId = BitConverter.GetBytes(truncatedId); - return repo.Lookup(EncodeAsHex(rawId)); + return BinaryPrimitives.ReadUInt16BigEndian(commit.Id.RawId); } /// @@ -310,7 +284,11 @@ private static bool IsCommitIdMismatch(Version version, VersionOptions versionOp ushort objectIdLeadingValue = (ushort)expectedCommitIdLeadingValue; ushort objectIdMask = (ushort)(objectIdLeadingValue == MaximumBuildNumberOrRevisionComponent ? 0xfffe : 0xffff); - return !commit.Id.StartsWith(objectIdLeadingValue, objectIdMask); + // Accept a big endian match or a little endian match. + // Nerdbank.GitVersioning up to v3.4 would produce versions based on the endianness of the CPU it ran on (typically little endian). + // Starting with v3.5, it deterministically used big endian. In order for `nbgv get-commits` to match on versions computed before and after the change, + // we match on either endian setting. + return !(commit.Id.StartsWith(objectIdLeadingValue, bigEndian: true, objectIdMask) || commit.Id.StartsWith(objectIdLeadingValue, bigEndian: false, objectIdMask)); } } @@ -324,10 +302,11 @@ private static bool IsCommitIdMismatch(Version version, VersionOptions versionOp /// The object whose ID is to be tested. /// The leading 16-bits to be tested. /// The mask that indicates which bits should be compared. + /// to read the first two bytes as big endian (v3.5+ behavior); to use little endian (v3.4 and earlier behavior). /// True if the object's ID starts with after applying the . - private static bool StartsWith(this ObjectId @object, ushort leadingBytes, ushort bitMask = 0xffff) + private static bool StartsWith(this ObjectId @object, ushort leadingBytes, bool bigEndian, ushort bitMask = 0xffff) { - ushort truncatedObjectId = BitConverter.ToUInt16(@object.RawId, 0); + ushort truncatedObjectId = bigEndian ? BinaryPrimitives.ReadUInt16BigEndian(@object.RawId) : BinaryPrimitives.ReadUInt16LittleEndian(@object.RawId); return (truncatedObjectId & bitMask) == leadingBytes; } diff --git a/src/NerdBank.GitVersioning/ManagedGit/GitObjectId.cs b/src/NerdBank.GitVersioning/ManagedGit/GitObjectId.cs index 76b5d672..3e62f158 100644 --- a/src/NerdBank.GitVersioning/ManagedGit/GitObjectId.cs +++ b/src/NerdBank.GitVersioning/ManagedGit/GitObjectId.cs @@ -167,7 +167,7 @@ public override bool Equals(object? obj) /// /// A which represents the first two bytes of this . /// - public ushort AsUInt16() => BinaryPrimitives.ReadUInt16LittleEndian(this.Value.Slice(0, 2)); + public ushort AsUInt16() => BinaryPrimitives.ReadUInt16BigEndian(this.Value.Slice(0, 2)); /// /// Returns the SHA1 hash of this object. diff --git a/src/NerdBank.GitVersioning/ReleaseManager.cs b/src/NerdBank.GitVersioning/ReleaseManager.cs index a59e4739..6656a73e 100644 --- a/src/NerdBank.GitVersioning/ReleaseManager.cs +++ b/src/NerdBank.GitVersioning/ReleaseManager.cs @@ -47,6 +47,11 @@ public enum ReleasePreparationError /// VersionDecrement, + /// + /// Branch cannot be set to the specified version because the new version is not higher than the current version + /// + NoVersionIncrement, + /// /// Cannot create a branch because it already exists /// @@ -273,6 +278,14 @@ public void PrepareRelease(string projectDirectory, string releaseUnstableTag = var nextDevVersion = this.GetNextDevVersion(versionOptions, nextVersion, versionIncrement); + // check if the current version on the current branch is different from the next version + // otherwise, both the release branch and the dev branch would have the same version + if (versionOptions.Version.Version == nextDevVersion.Version) + { + this.stderr.WriteLine($"Version on '{originalBranchName}' is already set to next version {nextDevVersion.Version}."); + throw new ReleasePreparationException(ReleasePreparationError.NoVersionIncrement); + } + // check if the release branch already exists if (repository.Branches[releaseBranchName] is not null) { diff --git a/src/nbgv/Program.cs b/src/nbgv/Program.cs index e9ae5d75..b68a1fef 100644 --- a/src/nbgv/Program.cs +++ b/src/nbgv/Program.cs @@ -736,6 +736,7 @@ private static int OnPrepareReleaseCommand(string project, string nextVersion, s case ReleaseManager.ReleasePreparationError.NoVersionFile: return (int)ExitCodes.NoVersionJsonFound; case ReleaseManager.ReleasePreparationError.VersionDecrement: + case ReleaseManager.ReleasePreparationError.NoVersionIncrement: return (int)ExitCodes.InvalidVersionSpec; case ReleaseManager.ReleasePreparationError.BranchAlreadyExists: return (int)ExitCodes.BranchAlreadyExists; diff --git a/src/nerdbank-gitversioning.npm/yarn.lock b/src/nerdbank-gitversioning.npm/yarn.lock index 58378eda..c66da78b 100644 --- a/src/nerdbank-gitversioning.npm/yarn.lock +++ b/src/nerdbank-gitversioning.npm/yarn.lock @@ -1222,9 +1222,9 @@ homedir-polyfill@^1.0.1: parse-passwd "^1.0.0" hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== ignore@^5.1.1: version "5.1.4" @@ -2029,9 +2029,9 @@ path-is-absolute@^1.0.0: integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-root-regex@^0.1.0: version "0.1.2" diff --git a/version.json b/version.json index 4e9d5d3e..f0167361 100644 --- a/version.json +++ b/version.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "3.4", + "version": "3.5-alpha", "assemblyVersion": { "precision": "revision" },