diff --git a/.github/workflows/_docker.yml b/.github/workflows/_docker.yml index 9781d00c46..dcf56d056c 100644 --- a/.github/workflows/_docker.yml +++ b/.github/workflows/_docker.yml @@ -75,13 +75,4 @@ jobs: docker_registry_username: ${{ secrets.DOCKER_USERNAME }} docker_registry_password: ${{ secrets.DOCKER_PASSWORD }} github_registry_username: ${{ github.repository_owner }} - github_registry_password: ${{ secrets.DOCKER_GITHUB_TOKEN }} - - - name: DockerHub Publish Readme - if: success() && github.event_name != 'pull_request' && github.repository_owner == 'GitTools' && github.ref_name == 'main' - shell: pwsh - run: dotnet run/docker.dll --target=DockerHubReadmePublish - env: - DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} - DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} - + github_registry_password: ${{ secrets.DOCKER_GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1249908800..504a339b9f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -137,6 +137,14 @@ jobs: name: Attetstation if: ${{ github.event_name == 'repository_dispatch' }} uses: ./.github/actions/artifacts-attest + - + name: DockerHub Publish Readme + if: ${{ github.event_name == 'repository_dispatch' }} + shell: pwsh + run: dotnet run/docker.dll --target=DockerHubReadmePublish + env: + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} - name: '[Release]' shell: pwsh diff --git a/BREAKING_CHANGES.md b/BREAKING_CHANGES.md index 8d5b4408b7..93e2285091 100644 --- a/BREAKING_CHANGES.md +++ b/BREAKING_CHANGES.md @@ -98,6 +98,9 @@ * If you have a tag `1.0.0` on `main` and branch from `main` to `release/1.0.1` then the next version number will be `1.1.0` when using the `GitFlow` workflow. This behavior is expected (but different compared to the `GitHubFlow` workflow) because on the `GitFlow` workflow you have an addition branch configuration with name hotfix where `is-release-branch` is set to `true`. That means if you want `1.0.1` as a next version you need to branch to `hotfix/1.0.1` or `hotfix/next`. On the other hand if you use the `GitHubFlow` workflow the next version number will be `1.0.1` because the increment on the `release` branch is set to `Patch`. +* There is a new configuration parameter `semantic-version-format` with default of `Strict`. The behavior of `Strict` is, that every possible non-semver version e.g. `1.2.3.4` is ignored when trying to calculate the next version. So, if you have three-part and four-part version numbers mixed, it will compute the next version on basis of the last found three-part version number, ignoring all four-part numbers. +This is different compared to v5 where per default it was a `Loose` comparison. + ### Legacy Output Variables The following legacy output variables have been removed in this version: diff --git a/README.md b/README.md index 7ab9427295..202043f4b5 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,6 @@ works out the [Semantic Version][semver] of the commit being built. [![Build status][azure-pipeline-badge]][azure-pipeline] [![Build status][github-actions-badge]][github-actions] [![codecov][codecov-badge]][codecov] -[![Gitter][gitter-badge]][gitter] | Artifact | Stable | |:---------------------------|:-------------------------------------------------------------------| @@ -51,10 +50,6 @@ from The Noun Project. [semver]: https://semver.org -[gitter]: https://gitter.im/GitTools/GitVersion?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge - -[gitter-badge]: https://badges.gitter.im/Join+Chat.svg - [azure-pipeline]: https://dev.azure.com/GitTools/GitVersion/_build/latest?definitionId=1 [azure-pipeline-badge]: https://dev.azure.com/GitTools/GitVersion/_apis/build/status/GitTools.GitVersion @@ -91,7 +86,7 @@ from The Noun Project. [winget]: https://github.com/microsoft/winget-pkgs/tree/master/manifests/g/GitTools/GitVersion -[winget-badge]: https://img.shields.io/badge/winget-v6.0.3-blue.svg?logo=microsoft +[winget-badge]: https://img.shields.io/winget/v/GitTools.GitVersion.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMeSURBVHgBrVS9axRREJ/3ds+QRPLtBxolYkRJYSNiKZGoaGdtI+gfIGhCCEgupb2llonYCmJhYZMDaysxClHwQriYXKI5xezOOPM+dt9uLlWyd4/3MW9+M/Obmacg+F486JolgCrs41Osf/95a87vdSjcL3g7jDjc1Dew6Itcl5VSQGTVyUn2/tTu3dvqhZGK1u95OQIH8y3vII7fqn5aNhTFSt87QHD5RhympWi58RciZUMTOtDyYffhgkprL6QAms9I9MmmV319MzXL+yoQWoHw7A34M/4jYS5zcpIzXqM7K+jLUFhVS68fkT+UIU6hUyyCOWVEk2raA9SUAeV4MWFqN2A9tYKit15OJc/DSMMoFOQ6MRoD9lIYib+IzkPd0Q/nrk8ZJ768ewpJq5Hd81FmkWcGuNGMAUxA5nCIl1aGkCYpdJ+6ApWuQah0D5p1mhbvp4xBfu9lacIR8AYyejDj0EZu98hzkqQZJQIuQykq5IqCHDgubQ5yvotGfF7CqOSaOOX1oFwUYa7Ysdh6iUEV5OWZe4aOMnsmgBK+Unl1hZUTFoJGspyR80pm2QvvfaMTcGZimhM8wGdY8Ex39sPpqw/h6MU7Lh9o9U20eU5jTBIXFphIvCcdQ+dh+PJdA3j2xgw0vn3Moog6B2D05hPoOHwEeoYvwernGqS/vu/qG7lv+6BQ89bQen0Jmmt16Bk4Doe4ck6OjbOn9rU9MXYtA9laX4HW9hZUJOmlfMhPZwnMSi6xycFt+PBqBrZ+1gu9IVT40Vz7AYvz3But1UyfEPOC4Fnnh5gdSl9odqc3akLt5TQbWXHy3IiA1xi8L9qASIM5SznxkvywF7RvCD/IC3kdaWKAJiwuTBaMbHJUtflJdmAdYk0uqUkQhWOCcTSVKErDbpYqYIB+iWThMfzeWIFNQ8ukMVyJwEWMAcVFPLX47Db5ms3q15WieYpds/3bSaGx+cc8WUO9FQZXbR/E8isck9AC1LbE8obhixHBsb6Ka16bh7KBwnPtZp0gzvnWNxSlSd4oJi85nxBQkVHjGxRts/nkksFK5/4DGLPsj2fzroIAAAAASUVORK5CYII= [dockerhub]: https://hub.docker.com/r/gittools/gitversion/ @@ -99,7 +94,7 @@ from The Noun Project. [az-pipeline-task]: https://marketplace.visualstudio.com/items?itemName=gittools.gittools -[az-pipeline-task-badge]: https://img.shields.io/badge/marketplace-gittools.gittools-blue?logo=azure-pipelines +[az-pipeline-task-badge]: https://img.shields.io/badge/marketplace-gittools-blue?logo=data:application/pdf;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAABJlJREFUWIXFVk1sVFUU/u6dNzOd6fx2ftoGFNIfNa1prCW4ALHsGolIYmjQGH/CwmUXBl2gK0OihoUYE5G40GAEQ7QJ0IobQSEkLYLFH4QabSpUptPpTDs/773pzLvHRTvDm3lvpjOtxpOcTN69557vu+eec+YwIsL/KdK/4aRzz8WupubA4xKDrRZ7LS8yYxPZ4/RDX27dBLa8PLGnu7fjKxBYPee2ijgH8PG6CGwZvOptfbD1pNDqAwcAboUbWOcTeDb4R8CYfS1ZJLTl3zUT2Lr/xkvhVt82Ekb4TSGG9o12OOwc0cQSfp3OQVZLgySwDgLtg1e9nR0tR02w0bPZgofbXcVvt9OKjWGBr8cXIavcwIBjDbKhxTcCMLsgQK92K6GrzQUilKhN4ujeZCuxNUSg8/kxj1coq5aRsAdeCLUEtpm1D4+TVczGkM8Govy9BQYqEuh78WKPx2a9TmioCs4ZRyDYhErNS1YJlfqarGol58RKCCQAWNJYu8Sq5zJjDI3uAAioCJKQgWhCRchvvMjkXypKcmalCviycwuVv2e5Wi0OcHtDVRshGL77SUE0oRbfXxOEa5MpTEVLbQsiAUBeA6pFwMIscPgCFW+ul7TKMHpFQdClQJIYFtMEJWfMDEMSmpXUcnQApzsIgJkSaHJzLGQ0CKEDIYa5ZNGDqd98Lq/qCOQhhHlFNthcsNjsECYMgz4JPncj/F6BqZk08lrNPZEW4okLRQJCWAjceNjCOBzeJtPoNPuscLud0AhgxOF2cswntdWRibKxO9F9M9/03ywSAPEY9DUKAIzB5Q4CbKVgdRLySnC5HCi04WRaQawGcDWTvRyfS+2aGu5bKMIUavOBfZeGALxX2LBZHPAEmw1OQn4LvK5GEJZfN5mWEU3kDXZ6EUS5ZDQxdONkz4fle0zfHNr2fv8qZ+wwANgtjXCHwgZwXxn47CrgWVkej0eiA9NntyfM9ll5V2vbe+ktgN5gYLccDf5Jp8/zFACE/ZLh5rOJXEVgIkJ6fuHAbyd6DlcjaEj9P09tfxOE19Ss49FfjnfvlhfTX4R8ZeApGZF4zvCnU9AlRUE8cgdJFv+kanjMIlAuTx+c6gmGAtcz2XvglW5ORMgkYlCzGRAj5HMiNHO6P1bNf9V5YODgdGtvR/AKGEMkQZiNpRGp8OZLiozUQgyi0ORrbAkcAD44m3royHDq7SNfJh/Tb547tOnu3zH5MxKUi8bme/+Yip8QgqBXTRBSsSgW4rPIUx6CqKg1EyANnYzjdWblveUGnx5o3v/zzdv3jxzaPHHr8+7nMsnkGVq54JKiYP7ubWSyaQiQIRdqkZpGspF3uyIAwAZP2VqV8H25jAJihCWRqTqNS5JzVRp1zYRhJbxLI3pE0TIrK3VP4wapayacPfPEsBD0iv6dq2kyubrP0ggQnn3/dLp0KSd+HHrGM1b4nhvdeSzw5Hkw4KN6yNdGALQDhB0lS5y9A2BMvzQ/uvNY08AFDpCht+ulQZOzNREQsjLOnY7dZgbcit/N1uPn+o96B769BkLAbJ/Ap+Ln+9Nme3pZtRP+1/IPO814AQ1WwqwAAAAASUVORK5CYII= [gh-actions]: https://github.com/marketplace/actions/gittools diff --git a/SECURITY.md b/SECURITY.md index 5d4f3799c2..8f44809e2f 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -2,10 +2,10 @@ ## Supported Versions -| Version | Supported | -| --------: | :----------------: | -| 5.x | :white\_check\_mark: | -| ⋜ 5.x | :x: | +| Version | Supported | +|--------:|:--------------------:| +| 6.x | :white\_check\_mark: | +| < 6.x | :x: | ## Reporting Security Issues diff --git a/build/CI.sln b/build/CI.sln index 026caa9324..c03d4bb6fa 100644 --- a/build/CI.sln +++ b/build/CI.sln @@ -8,6 +8,7 @@ ProjectSection(SolutionItems) = preProject ..\.config\dotnet-tools.json = ..\.config\dotnet-tools.json ..\package.json = ..\package.json ..\.remarkrc.yaml = ..\.remarkrc.yaml + ..\src\mark-shipped.ps1 = ..\src\mark-shipped.ps1 EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "build", "build\build.csproj", "{1AC00FB2-E28A-46B7-9683-AA7A1AFC29EB}" diff --git a/build/docker/Tasks/DockerHubReadmePublish.cs b/build/docker/Tasks/DockerHubReadmePublish.cs index 8fb3d1f9de..9245683370 100644 --- a/build/docker/Tasks/DockerHubReadmePublish.cs +++ b/build/docker/Tasks/DockerHubReadmePublish.cs @@ -11,7 +11,7 @@ public class DockerHubReadmePublish : FrostingTask; [TaskName(nameof(DockerHubReadmePublishInternal))] [TaskDescription("Publish the DockerHub updated README.md")] -public class DockerHubReadmePublishInternal : FrostingTask +public class DockerHubReadmePublishInternal : AsyncFrostingTask { public override bool ShouldRun(BuildContext context) { @@ -24,12 +24,15 @@ public override bool ShouldRun(BuildContext context) return shouldRun; } - public override void Run(BuildContext context) + public override async Task RunAsync(BuildContext context) { ArgumentNullException.ThrowIfNull(context.Credentials?.DockerHub); var readme = GetReadmeContent(context); - var response = context.HttpPost("https://hub.docker.com/v2/users/login", settings => + context.Information("Publishing README.md to DockerHub"); + + context.Information("Logging in to DockerHub"); + var response = await context.HttpPostAsync("https://hub.docker.com/v2/users/login", settings => { var credentials = context.Credentials.DockerHub; settings @@ -37,7 +40,7 @@ public override void Run(BuildContext context) .SetJsonRequestBody(new { username = credentials.Username, password = credentials.Password }); }); - + context.Information("Updating README.md on DockerHub"); context.HttpPatch("https://hub.docker.com/v2/repositories/gittools/gitversion", settings => { var token = context.ParseJson(response).Value("token"); @@ -46,6 +49,7 @@ public override void Run(BuildContext context) .SetAuthorization("JWT", token) .SetJsonRequestBody(new { full_description = readme }); }); + context.Information("README.md updated on DockerHub"); } private static string GetReadmeContent(BuildContextBase context) diff --git a/docs/input/docs/reference/build-servers/bitbucket-pipelines.md b/docs/input/docs/reference/build-servers/bitbucket-pipelines.md index b809cee247..8218605144 100644 --- a/docs/input/docs/reference/build-servers/bitbucket-pipelines.md +++ b/docs/input/docs/reference/build-servers/bitbucket-pipelines.md @@ -27,7 +27,7 @@ pipelines: name: Version and build script: - export PATH="$PATH:/root/.dotnet/tools" - - dotnet tool install --global GitVersion.Tool --version 5.* + - dotnet tool install --global GitVersion.Tool - dotnet-gitversion /output buildserver - source gitversion.properties - echo Building with semver $GITVERSION_FULLSEMVER @@ -61,7 +61,7 @@ pipelines: name: Version script: - export PATH="$PATH:/root/.dotnet/tools" - - dotnet tool install --global GitVersion.Tool --version 5.* + - dotnet tool install --global GitVersion.Tool - dotnet-gitversion /output buildserver artifacts: - gitversion.properties diff --git a/docs/input/docs/usage/cli/installation.md b/docs/input/docs/usage/cli/installation.md index c6cd3e4e0d..e90f53a940 100644 --- a/docs/input/docs/usage/cli/installation.md +++ b/docs/input/docs/usage/cli/installation.md @@ -13,9 +13,15 @@ GitVersion can be installed as a [.NET global tool][dotnet-tool] under the name [`GitVersion.Tool`][tool] by executing the following in a terminal: ```shell -dotnet tool install --global GitVersion.Tool --version 5.* +dotnet tool install --global GitVersion.Tool ``` +:::{.alert .alert-info} +**Hint:** To install an older version of GitVersion.Tools, use the --version flag of dotnet tool install + +Example: `dotnet tool install GitVersion.Tool --global --version 5.*` +::: + If you want to pin to a specific version of GitVersion, you can find the available versions of [`GitVersion.Tool` on NuGet](https://www.nuget.org/packages/GitVersion.Tool/). @@ -62,15 +68,15 @@ without installing any other dependencies. To use the Docker image, execute the following: ```shell -docker run --rm -v "$(pwd):/repo" gittools/gitversion:5.6.6 /repo +docker run --rm -v "$(pwd):/repo" gittools/gitversion:latest-debian.12 /repo ``` The important arguments here are: | Argument | Description | -| --------------------------: | :----------------------------------------------------------------------------------------------------------- | +|----------------------------:|:-------------------------------------------------------------------------------------------------------------| | `"$(pwd):/repo"` | Maps the output of `pwd` (the working directory) to the `/repo` directory within the Docker container. | -| `gittools/gitversion:5.6.6` | The name and tag of the GitVersion container to use. | +| `gittools/gitversion:{tag}` | The name and tag of the GitVersion container to use. | | `/repo` | The directory within the Docker container GitVersion should use as its working directory. Don't change this. | :::{.alert .alert-warning} diff --git a/docs/input/docs/usage/msbuild.md b/docs/input/docs/usage/msbuild.md index 1c9c588be8..9d812f6a80 100644 --- a/docs/input/docs/usage/msbuild.md +++ b/docs/input/docs/usage/msbuild.md @@ -15,8 +15,11 @@ modifying your build process. Just install with NuGet and GitVersion will automatically generate assembly version information that is compiled into the resulting artifact. -It currently works with desktop `MSBuild`. Support for CoreCLR with `dotnet build` -is coming soon. +Since version 6.0 only MSBuild running on .NET Core (`dotnet msbuild`) is supported. + +Unfortunately, up until at least Visual Studio 2022 17.11, Visual Studio runs all builds +using the .NET Framework version of MSBuild, and therefore **Visual Studio is not supported**. +For more information see [this discussion](https://github.com/GitTools/GitVersion/discussions/4130). ## TL;DR diff --git a/global.json b/global.json index 0d09a52257..7806149646 100644 --- a/global.json +++ b/global.json @@ -5,7 +5,6 @@ "src" ], "sdk": { - "version": "9.0.100-rc.2.24474.11", - "allowPrerelease": true + "version": "9.0.100" } } diff --git a/new-cli/Directory.Packages.props b/new-cli/Directory.Packages.props index 3aee9d584f..7421cb3f91 100644 --- a/new-cli/Directory.Packages.props +++ b/new-cli/Directory.Packages.props @@ -15,7 +15,7 @@ - + diff --git a/package-lock.json b/package-lock.json index 5275b79602..7fe4034898 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,7 @@ "remark-lint-maximum-heading-length": "^4.0.0", "remark-lint-no-blockquote-without-marker": "^6.0.0", "remark-lint-no-consecutive-blank-lines": "^5.0.0", - "remark-lint-no-dead-urls": "^2.0.0", + "remark-lint-no-dead-urls": "^2.0.1", "remark-lint-no-duplicate-definitions": "^4.0.0", "remark-lint-no-duplicate-headings": "^4.0.0", "remark-lint-no-emphasis-as-heading": "^4.0.0", @@ -72,7 +72,7 @@ "remark-preset-lint-recommended": "^7.0.0", "remark-retext": "^6.0.0", "remark-textr": "^6.1.0", - "remark-validate-links": "^13.0.1" + "remark-validate-links": "^13.0.2" } }, "node_modules/@babel/code-frame": { @@ -5010,6 +5010,21 @@ "node": ">= 0.8.0" } }, + "node_modules/p-all": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-all/-/p-all-5.0.0.tgz", + "integrity": "sha512-pofqu/1FhCVa+78xNAptCGc9V45exFz2pvBRyIvgXkNM0Rh18Py7j8pQuSjA+zpabI46v9hRjNWmL9EAFcEbpw==", + "dev": true, + "dependencies": { + "p-map": "^6.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-any": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-any/-/p-any-4.0.0.tgz", @@ -5044,6 +5059,33 @@ "node": ">=8" } }, + "node_modules/p-limit": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.1.0.tgz", + "integrity": "sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-6.0.0.tgz", + "integrity": "sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-some": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/p-some/-/p-some-6.0.0.tgz", @@ -9390,15 +9432,17 @@ } }, "node_modules/remark-lint-no-dead-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remark-lint-no-dead-urls/-/remark-lint-no-dead-urls-2.0.0.tgz", - "integrity": "sha512-7kJ5rZ6fuuLt6iG2XS/uShVik0LYzshspZ/hNm/oPybXnJrehsYT31Y5AjeX57Mm7DAc7Q8EMSgeDiK/8SYYhQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/remark-lint-no-dead-urls/-/remark-lint-no-dead-urls-2.0.1.tgz", + "integrity": "sha512-8+uY2GWENktvnTnmDHsAW/DxuPiAmZiKoW5HGuCrGmlqEVh4jPZJ2IGbQgfpyrMKIwp32NYo7Jt+aKb52QJ6sQ==", "dev": true, "dependencies": { "@types/mdast": "^4.0.0", "dead-or-alive": "^1.0.0", "devlop": "^1.0.0", "is-online": "^11.0.0", + "p-all": "^5.0.0", + "p-limit": "^6.0.0", "unified-lint-rule": "^3.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0", @@ -14791,9 +14835,9 @@ } }, "node_modules/remark-validate-links": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/remark-validate-links/-/remark-validate-links-13.0.1.tgz", - "integrity": "sha512-GWDZWJAQU0+Fsm1GCLNeJoVcE9L3XTVrWCgQZOYREfXqRFIYaSoIBbARZizLm/vBESq+a3GwEBnIflSCNw26tw==", + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/remark-validate-links/-/remark-validate-links-13.0.2.tgz", + "integrity": "sha512-YZPiB6eWT6sjVYD+TXisCGzNZwbWmtnqeA6rr7zlYz7LrtKENaT+fPIRjG16tW4dv85su2VsWdw7e3cqS+2Tog==", "dev": true, "dependencies": { "@types/hosted-git-info": "^3.0.0", @@ -16487,6 +16531,18 @@ "node": ">= 14" } }, + "node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/zwitch": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.2.tgz", @@ -20171,6 +20227,15 @@ "word-wrap": "^1.2.3" } }, + "p-all": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-all/-/p-all-5.0.0.tgz", + "integrity": "sha512-pofqu/1FhCVa+78xNAptCGc9V45exFz2pvBRyIvgXkNM0Rh18Py7j8pQuSjA+zpabI46v9hRjNWmL9EAFcEbpw==", + "dev": true, + "requires": { + "p-map": "^6.0.0" + } + }, "p-any": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-any/-/p-any-4.0.0.tgz", @@ -20195,6 +20260,21 @@ "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", "dev": true }, + "p-limit": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.1.0.tgz", + "integrity": "sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg==", + "dev": true, + "requires": { + "yocto-queue": "^1.1.1" + } + }, + "p-map": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-6.0.0.tgz", + "integrity": "sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==", + "dev": true + }, "p-some": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/p-some/-/p-some-6.0.0.tgz", @@ -23684,15 +23764,17 @@ } }, "remark-lint-no-dead-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remark-lint-no-dead-urls/-/remark-lint-no-dead-urls-2.0.0.tgz", - "integrity": "sha512-7kJ5rZ6fuuLt6iG2XS/uShVik0LYzshspZ/hNm/oPybXnJrehsYT31Y5AjeX57Mm7DAc7Q8EMSgeDiK/8SYYhQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/remark-lint-no-dead-urls/-/remark-lint-no-dead-urls-2.0.1.tgz", + "integrity": "sha512-8+uY2GWENktvnTnmDHsAW/DxuPiAmZiKoW5HGuCrGmlqEVh4jPZJ2IGbQgfpyrMKIwp32NYo7Jt+aKb52QJ6sQ==", "dev": true, "requires": { "@types/mdast": "^4.0.0", "dead-or-alive": "^1.0.0", "devlop": "^1.0.0", "is-online": "^11.0.0", + "p-all": "^5.0.0", + "p-limit": "^6.0.0", "unified-lint-rule": "^3.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0", @@ -27871,9 +27953,9 @@ } }, "remark-validate-links": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/remark-validate-links/-/remark-validate-links-13.0.1.tgz", - "integrity": "sha512-GWDZWJAQU0+Fsm1GCLNeJoVcE9L3XTVrWCgQZOYREfXqRFIYaSoIBbARZizLm/vBESq+a3GwEBnIflSCNw26tw==", + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/remark-validate-links/-/remark-validate-links-13.0.2.tgz", + "integrity": "sha512-YZPiB6eWT6sjVYD+TXisCGzNZwbWmtnqeA6rr7zlYz7LrtKENaT+fPIRjG16tW4dv85su2VsWdw7e3cqS+2Tog==", "dev": true, "requires": { "@types/hosted-git-info": "^3.0.0", @@ -29108,6 +29190,12 @@ "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", "dev": true }, + "yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "dev": true + }, "zwitch": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.2.tgz", diff --git a/package.json b/package.json index 21159eacab..244d6aae0d 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "remark-lint-maximum-heading-length": "^4.0.0", "remark-lint-no-blockquote-without-marker": "^6.0.0", "remark-lint-no-consecutive-blank-lines": "^5.0.0", - "remark-lint-no-dead-urls": "^2.0.0", + "remark-lint-no-dead-urls": "^2.0.1", "remark-lint-no-duplicate-definitions": "^4.0.0", "remark-lint-no-duplicate-headings": "^4.0.0", "remark-lint-no-emphasis-as-heading": "^4.0.0", @@ -93,7 +93,7 @@ "remark-preset-lint-recommended": "^7.0.0", "remark-retext": "^6.0.0", "remark-textr": "^6.1.0", - "remark-validate-links": "^13.0.1" + "remark-validate-links": "^13.0.2" }, "overrides": { "got": "^11.8.5" diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 33fa2cc0cf..cc96645729 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -39,7 +39,7 @@ - + \ No newline at end of file diff --git a/src/GitVersion.Core/PublicAPI.Shipped.txt b/src/GitVersion.Core/PublicAPI.Shipped.txt index fc22f7ec1c..c7172416bd 100644 --- a/src/GitVersion.Core/PublicAPI.Shipped.txt +++ b/src/GitVersion.Core/PublicAPI.Shipped.txt @@ -20,6 +20,7 @@ GitVersion.BugException.BugException() -> void GitVersion.BugException.BugException(string! message) -> void GitVersion.BugException.BugException(string? message, System.Exception? innerException) -> void GitVersion.Common.IRepositoryStore +GitVersion.Common.IRepositoryStore.Branches.get -> GitVersion.Git.IBranchCollection! GitVersion.Common.IRepositoryStore.ExcludingBranches(System.Collections.Generic.IEnumerable! branchesToExclude) -> System.Collections.Generic.IEnumerable! GitVersion.Common.IRepositoryStore.FindBranch(GitVersion.Git.ReferenceName! branchName) -> GitVersion.Git.IBranch? GitVersion.Common.IRepositoryStore.FindCommitBranchBranchedFrom(GitVersion.Git.IBranch? branch, GitVersion.Configuration.IGitVersionConfiguration! configuration, params GitVersion.Git.IBranch![]! excludedBranches) -> GitVersion.Git.BranchCommit @@ -28,11 +29,17 @@ GitVersion.Common.IRepositoryStore.FindMergeBase(GitVersion.Git.IBranch? branch, GitVersion.Common.IRepositoryStore.FindMergeBase(GitVersion.Git.ICommit! commit, GitVersion.Git.ICommit! mainlineTip) -> GitVersion.Git.ICommit? GitVersion.Common.IRepositoryStore.GetBranchesContainingCommit(GitVersion.Git.ICommit! commit, System.Collections.Generic.IEnumerable? branches = null, bool onlyTrackedBranches = false) -> System.Collections.Generic.IEnumerable! GitVersion.Common.IRepositoryStore.GetCommitLog(GitVersion.Git.ICommit? baseVersionSource, GitVersion.Git.ICommit! currentCommit, GitVersion.Configuration.IIgnoreConfiguration! ignore) -> System.Collections.Generic.IReadOnlyList! +GitVersion.Common.IRepositoryStore.GetCommitsReacheableFrom(GitVersion.Git.IGitObject! commit, GitVersion.Git.IBranch! branch) -> System.Collections.Generic.IReadOnlyList! +GitVersion.Common.IRepositoryStore.GetCommitsReacheableFromHead(GitVersion.Git.ICommit? headCommit, GitVersion.Configuration.IIgnoreConfiguration! ignore) -> System.Collections.Generic.IReadOnlyList! GitVersion.Common.IRepositoryStore.GetCurrentCommit(GitVersion.Git.IBranch! currentBranch, string? commitId, GitVersion.Configuration.IIgnoreConfiguration! ignore) -> GitVersion.Git.ICommit? +GitVersion.Common.IRepositoryStore.GetForwardMerge(GitVersion.Git.ICommit? commitToFindCommonBase, GitVersion.Git.ICommit? findMergeBase) -> GitVersion.Git.ICommit? GitVersion.Common.IRepositoryStore.GetSourceBranches(GitVersion.Git.IBranch! branch, GitVersion.Configuration.IGitVersionConfiguration! configuration, params GitVersion.Git.IBranch![]! excludedBranches) -> System.Collections.Generic.IEnumerable! GitVersion.Common.IRepositoryStore.GetSourceBranches(GitVersion.Git.IBranch! branch, GitVersion.Configuration.IGitVersionConfiguration! configuration, System.Collections.Generic.IEnumerable! excludedBranches) -> System.Collections.Generic.IEnumerable! GitVersion.Common.IRepositoryStore.GetTargetBranch(string? targetBranchName) -> GitVersion.Git.IBranch! +GitVersion.Common.IRepositoryStore.Head.get -> GitVersion.Git.IBranch! GitVersion.Common.IRepositoryStore.IsCommitOnBranch(GitVersion.Git.ICommit? baseVersionSource, GitVersion.Git.IBranch! branch, GitVersion.Git.ICommit! firstMatchingCommit) -> bool +GitVersion.Common.IRepositoryStore.Tags.get -> GitVersion.Git.ITagCollection! +GitVersion.Common.IRepositoryStore.UncommittedChangesCount.get -> int GitVersion.Configuration.AssemblyFileVersioningScheme GitVersion.Configuration.AssemblyFileVersioningScheme.Major = 3 -> GitVersion.Configuration.AssemblyFileVersioningScheme GitVersion.Configuration.AssemblyFileVersioningScheme.MajorMinor = 2 -> GitVersion.Configuration.AssemblyFileVersioningScheme @@ -83,6 +90,7 @@ GitVersion.Configuration.EffectiveConfiguration.TrackMergeTarget.get -> bool GitVersion.Configuration.EffectiveConfiguration.TracksReleaseBranches.get -> bool GitVersion.Configuration.EffectiveConfiguration.UpdateBuildNumber.get -> bool GitVersion.Configuration.EffectiveConfiguration.VersionFilters.get -> System.Collections.Generic.IEnumerable! +GitVersion.Configuration.EffectiveConfiguration.VersionInBranchPattern.get -> string? GitVersion.Configuration.EffectiveConfiguration.VersionStrategy.get -> GitVersion.VersionCalculation.VersionStrategies GitVersion.Configuration.IBranchConfiguration GitVersion.Configuration.IBranchConfiguration.CommitMessageIncrementing.get -> GitVersion.VersionCalculation.CommitMessageIncrementMode? @@ -128,6 +136,7 @@ GitVersion.Configuration.IGitVersionConfiguration.NextVersion.get -> string? GitVersion.Configuration.IGitVersionConfiguration.NoBumpMessage.get -> string? GitVersion.Configuration.IGitVersionConfiguration.PatchVersionBumpMessage.get -> string? GitVersion.Configuration.IGitVersionConfiguration.SemanticVersionFormat.get -> GitVersion.SemanticVersionFormat +GitVersion.Configuration.IGitVersionConfiguration.TagPrefixPattern.get -> string? GitVersion.Configuration.IGitVersionConfiguration.TagPreReleaseWeight.get -> int? GitVersion.Configuration.IGitVersionConfiguration.UpdateBuildNumber.get -> bool GitVersion.Configuration.IGitVersionConfiguration.VersionInBranchPattern.get -> string? @@ -223,6 +232,7 @@ GitVersion.Git.IGitRepository.Path.get -> string! GitVersion.Git.IGitRepository.Refs.get -> GitVersion.Git.IReferenceCollection! GitVersion.Git.IGitRepository.Remotes.get -> GitVersion.Git.IRemoteCollection! GitVersion.Git.IGitRepository.Tags.get -> GitVersion.Git.ITagCollection! +GitVersion.Git.IGitRepository.UncommittedChangesCount() -> int GitVersion.Git.IGitRepository.WorkingDirectory.get -> string! GitVersion.Git.IGitRepositoryInfo GitVersion.Git.IGitRepositoryInfo.DotGitDirectory.get -> string? @@ -733,11 +743,14 @@ override GitVersion.VersionCalculation.NextVersion.Equals(object? other) -> bool override GitVersion.VersionCalculation.NextVersion.GetHashCode() -> int override GitVersion.VersionCalculation.NextVersion.ToString() -> string! static GitVersion.Configuration.ReferenceNameExtensions.TryGetSemanticVersion(this GitVersion.Git.ReferenceName! source, out (GitVersion.SemanticVersion! Value, string? Name) result, GitVersion.Configuration.EffectiveConfiguration! configuration) -> bool +static GitVersion.Configuration.ReferenceNameExtensions.TryGetSemanticVersion(this GitVersion.Git.ReferenceName! source, out (GitVersion.SemanticVersion! Value, string? Name) result, GitVersion.Configuration.IGitVersionConfiguration! configuration) -> bool static GitVersion.Extensions.AssemblyVersionsGeneratorExtensions.GetAssemblyFileVersion(this GitVersion.SemanticVersion! sv, GitVersion.Configuration.AssemblyFileVersioningScheme scheme) -> string? static GitVersion.Extensions.AssemblyVersionsGeneratorExtensions.GetAssemblyVersion(this GitVersion.SemanticVersion! sv, GitVersion.Configuration.AssemblyVersioningScheme scheme) -> string? static GitVersion.Extensions.CommonExtensions.NotNull(this T? value, string! name = "") -> T! static GitVersion.Extensions.CommonExtensions.NotNullOrEmpty(this string? value, string! name = "") -> string! static GitVersion.Extensions.CommonExtensions.NotNullOrWhitespace(this string? value, string! name = "") -> string! +static GitVersion.Extensions.DictionaryExtensions.GetOrAdd(this System.Collections.Concurrent.ConcurrentDictionary! dict, string! pattern) -> System.Text.RegularExpressions.Regex! +static GitVersion.Extensions.DictionaryExtensions.GetOrAdd(this System.Collections.Generic.Dictionary! dict, TKey key, System.Func! getValue) -> TValue static GitVersion.Extensions.EnumerableExtensions.AddRange(this System.Collections.Generic.ICollection! source, System.Collections.Generic.IEnumerable! items) -> void static GitVersion.Extensions.EnumerableExtensions.OnlyOrDefault(this System.Collections.Generic.IEnumerable! source) -> T? static GitVersion.Extensions.EnumerableExtensions.SingleOfType(this System.Collections.IEnumerable! source) -> T @@ -753,6 +766,7 @@ static GitVersion.Extensions.StringExtensions.IsEmpty(this string? value) -> boo static GitVersion.Extensions.StringExtensions.IsEquivalentTo(this string! self, string? other) -> bool static GitVersion.Extensions.StringExtensions.IsNullOrEmpty(this string? value) -> bool static GitVersion.Extensions.StringExtensions.IsNullOrWhiteSpace(this string? value) -> bool +static GitVersion.Extensions.StringExtensions.RegexReplace(this string! input, string! pattern, string! replace) -> string! static GitVersion.Extensions.StringExtensions.WithPrefixIfNotNullOrEmpty(this string! value, string! prefix) -> string! static GitVersion.Git.BranchCommit.operator !=(GitVersion.Git.BranchCommit left, GitVersion.Git.BranchCommit right) -> bool static GitVersion.Git.BranchCommit.operator ==(GitVersion.Git.BranchCommit left, GitVersion.Git.BranchCommit right) -> bool diff --git a/src/GitVersion.Core/PublicAPI.Unshipped.txt b/src/GitVersion.Core/PublicAPI.Unshipped.txt index 0d2367b54f..7dc5c58110 100644 --- a/src/GitVersion.Core/PublicAPI.Unshipped.txt +++ b/src/GitVersion.Core/PublicAPI.Unshipped.txt @@ -1,15 +1 @@ #nullable enable -GitVersion.Common.IRepositoryStore.Branches.get -> GitVersion.Git.IBranchCollection! -GitVersion.Common.IRepositoryStore.GetCommitsReacheableFrom(GitVersion.Git.IGitObject! commit, GitVersion.Git.IBranch! branch) -> System.Collections.Generic.IReadOnlyList! -GitVersion.Common.IRepositoryStore.GetCommitsReacheableFromHead(GitVersion.Git.ICommit? headCommit, GitVersion.Configuration.IIgnoreConfiguration! ignore) -> System.Collections.Generic.IReadOnlyList! -GitVersion.Common.IRepositoryStore.GetForwardMerge(GitVersion.Git.ICommit? commitToFindCommonBase, GitVersion.Git.ICommit? findMergeBase) -> GitVersion.Git.ICommit? -GitVersion.Common.IRepositoryStore.Head.get -> GitVersion.Git.IBranch! -GitVersion.Common.IRepositoryStore.Tags.get -> GitVersion.Git.ITagCollection! -GitVersion.Common.IRepositoryStore.UncommittedChangesCount.get -> int -GitVersion.Configuration.EffectiveConfiguration.VersionInBranchPattern.get -> string? -GitVersion.Configuration.IGitVersionConfiguration.TagPrefixPattern.get -> string? -GitVersion.Git.IGitRepository.UncommittedChangesCount() -> int -static GitVersion.Configuration.ReferenceNameExtensions.TryGetSemanticVersion(this GitVersion.Git.ReferenceName! source, out (GitVersion.SemanticVersion! Value, string? Name) result, GitVersion.Configuration.IGitVersionConfiguration! configuration) -> bool -static GitVersion.Extensions.DictionaryExtensions.GetOrAdd(this System.Collections.Concurrent.ConcurrentDictionary! dict, string! pattern) -> System.Text.RegularExpressions.Regex! -static GitVersion.Extensions.DictionaryExtensions.GetOrAdd(this System.Collections.Generic.Dictionary! dict, TKey key, System.Func! getValue) -> TValue -static GitVersion.Extensions.StringExtensions.RegexReplace(this string! input, string! pattern, string! replace) -> string!