Repository navigation
Release 0.11.1 - #44
Merged
Merged
Conversation
nuget.org refused IfcIO.Scene 0.11.0 ("invalid Version: '0.2.0-0'"): a
dependency bound with one prerelease label must start with a letter there.
IfcIO and IfcIO.Cli 0.11.0 were published. IOScene is now referenced as
[0.1.0, 0.2.0-0.0), and pack-release.ps1 fails a release whose IfcIO.Scene
dependency bounds nuget.org would refuse, by the gallery's rule, and one whose
IOScene range has no lower bound. Version 0.11.1, the first release of
IfcIO.Scene; the changelog notes that 0.11.0 did not publish it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release 0.11.1, the first release of
IfcIO.Scene.Why
The release of 0.11.0 published
IfcIOandIfcIO.Cli, but nuget.org refusedIfcIO.Scene0.11.0:nuget.org checks every bound of a dependency range (NuGetGallery
ManifestValidator.ValidateDependencyVersion): a bound with metadata is refused, and a bound that is not SemVer 2.0 (one prerelease label) must match^\d+(\.\d+){0,3}(-[a-z][0-9a-z-]*)?$, so its label must start with a letter.0.2.0-0has one label,0, and fails.dotnet packaccepts it, which is why the local checks passed. The GitHub release v0.11.0 was created afterwards from the artifacts of the same run, without theIfcIO.Scenefiles.What changes
Directory.Packages.props:IOScene[0.1.0, 0.2.0-0.0).0.2.0-0.0has two labels, so nuget.org checks it as SemVer 2.0 and accepts it; it keeps out every 0.2.0 preview except0.2.0-0, which nuget.org accepts only with build metadata and IOScene does not publish. The IOScene contract gets the same range in IOExtend/IOScene (separate PR).tools/pack-release.ps1:IfcIO.Scenenuspec is one nuget.org refuses, by the same rule;IOScenerange has no lower bound, as in RvtIO.Directory.Build.props: version 0.11.1 (IfcIOandIfcIO.Clihave the same code as 0.11.0).CHANGELOG.md:## [0.11.1] - 2026-11-13, and a note in the 0.11.0 entry of the package that it was not published with 0.11.0.CONTRIBUTING.md,docs/scene-adapter.md, the comment inIfcIO.Scene.csproj, README Limitations: the new range and version.Checks
[0.1.0, 0.2.0-0)(as nuget.org did) and accepts[0.1.0, 0.2.0-0.0); that range is satisfied by 0.1.x (including 0.1.1-preview.1) and not by 0.2.0-preview.1, -alpha, -a, -rc.1, -1, -0.1, 0.2.0 or 0.1.0-preview.2.pack-release.ps1, loaded on its own and run on crafted nuspecs (Windows PowerShell 5.1): passes-0.0,-alphaand a plain bound; refuses-0,-1rc, a bound with metadata, a preview or missingIOScenelower bound, an engine dependency that is not exact, and a missingIOScene.dotnet build IfcIO.slnx -c Release: 0 warnings, 0 errors.dotnet test: IfcIO.Tests 149 passed (net10.0); IfcIO.Scene.Tests 19 passed and 1 skipped on net8.0 and net10.0.tools/pack-release.ps1(Windows PowerShell 5.1; the release job uses pwsh): exit 0;IfcIO.Scene.0.11.1depends onIfcIO[0.11.1]andIOScene[0.1.0, 0.2.0-0.0).After merge
Tag
v0.11.1on the merge commit. The CHANGELOG date is 2026-11-13; if the tag is pushed on a later day, the date should be corrected first.