Skip to content

Releases: actions/setup-dotnet

v4.0.0

04 Dec 14:24
4d6c8fc
Compare
Choose a tag to compare

What's Changed

In the scope of this release, the version of the Node.js runtime was updated to 20. The majority of dependencies were updated to the latest versions. From now on, the code for the setup-dotnet will run on Node.js 20 instead of Node.js 16.

Breaking changes

Update Node.js runtime to version 20 by @HarithaVattikuti in #484

Non-breaking changes

  • Refactor installer by @nikolai-laevskii in #432
  • Allow json comments by @nikolai-laevskii in #431
  • Sequential version install fix by @nikolai-laevskii in #433
    setup-dotnet@v3 used to overwrite dotnet executable on each action run, which was causing action to fail on some occasions due to executable being still in use. In setup-dotnet@v4 we solved this issue by adding another install-script run that installs LTS version of dotnet executable and uses it for all subsequent dotnet installations. The first install-script run conducts the actual download only once per workflow.
  • Update fast-xml-parser and dotnet installer scripts by @IvanZosimov in #437
  • Update dependencies by @IvanZosimov in #440
  • Bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #444
  • Update installers by @nikolai-laevskii in #462
  • Update semver by @dmitry-shibanov in #468

New Contributors

Full Changelog: v3...v4.0.0

v3.2.0

29 May 11:43
3447fd6
Compare
Choose a tag to compare

What's Changed

In scope of this minor release, the ability to cache the NuGet global-packages folder was added in #303 by @nogic1008

For caching, the action uses the @toolkit/cache library under the hood, which in turn allows getting rid of configuring the @actions/cache action separately.

Such input parameters as cache and cache-dependency-path were added. The cache input is optional, and caching is turned off by default, cache-dependency-path is used to specify the path to a dependency file - packages.lock.json.

Example of use-case:

- uses: actions/setup-dotnet@v3
  with:
    dotnet-version: 6.x
    cache: true
    cache-dependency-path: subdir/packages.lock.json

More details can be found in the action's documentation.

Full Changelog: v3...v3.2.0

v3.1.0

25 May 12:07
aa983c5
Compare
Choose a tag to compare

What's Changed

This minor release includes the following new features:

- uses: actions/setup-dotnet@v3
  with:
    dotnet-version: '7.0.2xx'

More details about the new syntax can be found here.

It also contains several infrastructure changes:

New Contributors

Full Changelog: v3...v3.1.0

Fix issue with ECONNRESET and refactor authutil

27 Oct 13:09
607fce5
Compare
Choose a tag to compare

In scope of this release we updated the link to the .Net Core releases index file (#337) in order to fix the ECONNRESET error. Besides, we refactored authutil.ts to get rid of xmlbuilder (#336)

Updating @action/core, adding logic for processing the DOTNET_INSTALL_DIR environment variable.

13 Oct 14:54
4d4a70f
Compare
Choose a tag to compare

In the scope of this release such changes were made:

  1. The logic for processing the DOTNET_INSTALL_DIR environment variable was added to support relative paths and paths containing ~ #332
  2. The version of @actions/core was bumped to 1.10.0 #331

Enable DOTNET_INSTALL_DIR environment variable

04 Oct 08:53
45c9f23
Compare
Choose a tag to compare

In scope of this release the DOTNET_INSTALL_DIR environment variable was enabled to add the ability to change the installation directory for .NET SDK #329. The DOTNET_INSTALL_DIR can be helpful when access to the default installation directory, for instance, on self-hosted runners, is denied.

Example of usage:

build:
  runs-on: self-hosted
  env:
    DOTNET_INSTALL_DIR: "path/to/directory"
  steps:
    - uses: actions/setup-dotnet@v3
      with:
        dotnet-version: '3.1.x'

v3.0.0

29 Sep 15:56
c7e7147
Compare
Choose a tag to compare

This major release includes the following changes:

  • #219 New input dotnet-quality was added in #315:
    - uses: actions/setup-dotnet@v3
      with:
        dotnet-version: '6.0.x'
        dotnet-quality: 'preview'
    - run: dotnet build <my project>

More in detail here.

  • #241 The output variable dotnet-version which contains the installed by the action SDK version was added in #324:
    - uses: actions/setup-dotnet@v3
      id: cp310
      with:
        dotnet-version: '3.1.422'
    - run: echo '${{ steps.cp310.outputs.dotnet-version }}' # outputs 3.1.422

More in detail here.

  • The dotnet-version syntax was updated and now it allows to specify the prerelease version without using include-prerelease input. The include-prerelease input was cut out:
    - uses: actions/setup-dotnet@v3
      with:
        dotnet-version: '5.0.0-preview.6'

More in detail here.

  • #251 The problem with out of support .NET version warnings was solved in #315.

Breaking changes:

  • Installation paths for Windows and Ubuntu images were changed to match the location of pre-installed SDKs. In more detail, read here.

Add support for Windows-arm

26 Sep 14:17
a351d9e
Compare
Choose a tag to compare

In scope of this release we add support for Windows-arm. Besides, we change getInput to getBooleanInput for include-prerelease.

Package updates, support for global json file in a subdirectory, installer scripts updates

09 May 08:52
c0d4ad6
Compare
Choose a tag to compare

This release includes the following PRs:

  • Adding support for the global-json-file input: #276
    Example of usage:

    - uses: actions/setup-dotnet@v2
      with:
        global-json-file: csharp/global.json
    - run: dotnet build <my project>
      working-directory: csharp
  • Update @zeit/ncc to @vercel/ncc: #290

  • Update vulnerable packages: #289

  • Improve documentation and update installer scripts to the latest version: #278

v2.0.0

25 Feb 08:38
9211491
Compare
Choose a tag to compare

In scope of this release we changed version of the runtime Node.js for the setup-dotnet action and updated package-lock.json file to v2.

Breaking Changes
With the update to Node 16 in #271 all scripts will now be run with Node 16 rather than Node 12.