Versions icon indicating copy to clipboard operation
Versions copied to clipboard

[Bug]: dotnet-sdk-preview: Update available

Open SorYoshino opened this issue 3 months ago β€’ 5 comments

Prerequisites

  • [x] I have written a descriptive issue title.
  • [x] I have searched all issues/PRs to ensure it has not already been reported or fixed.
  • [x] I have verified that I am using the latest version of Scoop and corresponding bucket.

Package Name

dotnet-sdk-preview

Expected/Current Behaviour

The latest version of dotnet-sdk-preview is 10.0.100-rc.1.25451.107, and this version was released as early as September 9th.

Steps to Reproduce

┏[ο„• ~]
└─> scoop search dotnet-sdk-preview
Results from local buckets...

Name               Version                    Source   Binaries
----               -------                    ------   --------
dotnet-sdk-preview 9.0.100-preview.7.24407.12 Versions

Possible Solution

By modifying checkver.jsonpath to the following expression, the issue can be resolved:

$.releases-index[?(@.support-phase == 'preview' || @.support-phase == 'rc' || @.support-phase == 'go-live')].latest-sdk

However, if the support-phase values change in the future, checkver will fail again. This approach is neither robust nor elegant, and I do not prefer it.

It can be observed that preview releases do not contain the eol-date field. Unfortunately, the current implementation does not support expressions such as $.releases-index[?(!(@.eol-date))].

Since I am new to JSONPath, I am not sure if there are other possible solutions.

Scoop and Buckets Version

┏[ο„• ~]
└─> scoop --version
Current Scoop version:
b588a06e (HEAD -> master, origin/master, origin/HEAD) chore(release): Bump to version 0.5.3 (resync) (#6436)

'main' bucket:
8b63aca23 (HEAD -> master, origin/master, origin/HEAD) gotify-server: Update to version 2.7.3

'Extras' bucket:
5401f8dee8 (HEAD -> master, origin/master, origin/HEAD) todolist: Update to version 9.1.2

'Java' bucket:
4fa915da (HEAD -> master, origin/master, origin/HEAD) fix(liberica): Update to Java 25 and replace 32-bit to ARM64 (#557)

'Nerd-Fonts' bucket:
668e60ee (HEAD -> master, origin/master, origin/HEAD) LXGWNeoZhiSong: Update to version 1.036

'Nirsoft' bucket:
3da4854 (HEAD -> master, origin/master, origin/HEAD) Update url list [ci skip]

'Nonportable' bucket:
675b774a (HEAD -> master, origin/master, origin/HEAD) textpad8-np: Update to version 8.23.1

'Sysinternals' bucket:
b2e4ffe (HEAD -> main, origin/main, origin/HEAD) zoomit: Update to version 9.01

'Versions' bucket:
fe7c14cc9e (HEAD -> master, origin/master, origin/HEAD) kate-nightly: Update to version 10268

Scoop Config

Irrelevant to it.

PowerShell Version

Irrelevant to it.

Additional Softwares

Irrelevant to it.

SorYoshino avatar Sep 21 '25 14:09 SorYoshino

By modifying checkver.jsonpath to the following expression, the issue can be resolved However, if the support-phase values change in the future, checkver will fail again. This approach is neither robust nor elegant, and I do not prefer it.

That’s fine as a temporary solution β€” after all, .NET 10 will be out as a stable release in November 2025.

Feel free to open a PR for this. We'd be glad to review and merge it.

z-Fng avatar Sep 26 '25 09:09 z-Fng

.NET 10 will be out as a stable release in November 2025.

Thank you for the information, but I have a few concerns and questions:

  1. Once .NET 10 is officially released, dotnet-sdk in the Main bucket, windowsdesktop-runtime and windowsdesktop-runtime-lts in the Extras bucket, as well as dotnet-sdk-lts in the Versions bucket, will all likely be automatically updated to version 10.x.x. However, some manifests in the buckets use vague descriptions in their suggest fields, which could lead to compatibility issues. For example, some applications use windowsdesktop-runtime-lts as .NET Desktop Runtime 8.0.
  2. The dotnet package in the Main bucket has already been deprecated, but dotnet-nightly in the Versions bucket has not. Should it also be deprecated?
  3. nodejs-lts, nodejs, and dotnet-sdk are all included in the Main bucket, but dotnet-sdk-lts is located in the Versions bucket. Should it be moved to the Main bucket as well?

Feel free to open a PR for this. We'd be glad to review and merge them.

I am more than willing to submit PRs to fix all the issues mentioned in this issue, as well as many other long-standing problems in other buckets. However, unfortunately, I have been in poor health recently, so I will not be taking any action for a while. If these issues remain unresolved by the time I recover, I will submit PRs to address them.

SorYoshino avatar Sep 26 '25 17:09 SorYoshino

I am more than willing to submit PRs to fix all the issues mentioned in this issue, as well as many other long-standing problems in other buckets.

I have been in poor health recently, so I will not be taking any action for a while.

Thank you so much for your willingness to contribute! ❀️

Don’t worry about it. Your health always comes first β€” wishing you a smooth recovery soon!

z-Fng avatar Sep 27 '25 18:09 z-Fng

The latest version of dotnet-sdk-preview is 10.0.100-rc.1.25451.107, and this version was released as early as September 9th.

I have fixed it in https://github.com/ScoopInstaller/Versions/commit/0c20016c1511c4cb00c85df69d673947cf3ccb91.

As for the long-standing issues you mentioned, I may need to discuss them with the other maintainers/collaborators before I can give you a definite answer.

z-Fng avatar Sep 27 '25 18:09 z-Fng

Don’t worry about it. Your health always comes first β€” wishing you a smooth recovery soon!

Thank you for your concern. After seeing the doctor, the symptoms in my eyes have improved.

I have fixed it in 0c20016.

Regarding the jsonpath expression, I think we can now remove the || @.support-phase == 'rc' part. The reasons are as follows:

First of all, this condition was introduced in commit 67728ce. At that time, it indeed allowed the manifest to automatically update to the RC version. However, since dotnet-sdk 8.0, this functionality has stopped working. From the historical records, we can see that there has been no RC version prior to dotnet-sdk 10.0.

The likely reason is that Microsoft replaced rc with go-live. It appears that the possible values of support-phase are now preview, go-live, active, maintenance, and eol, which aligns closely with the support-phase values found in the checkver.url (except that maintenance is not included there). (Source: https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core#servicing)

Furthermore, on the official .NET download site, all versions except .NET Core label the RC releases as go-live.

SorYoshino avatar Sep 28 '25 15:09 SorYoshino