Skip to content

Release notes within the Gallery's limit, measured by the rehearsal - #8

Merged
fadwen merged 1 commit into
mainfrom
fix/release-notes-length
Oct 6, 2026
Merged

fadwen merged 1 commit into
mainfrom
fix/release-notes-length

Conversation

@fadwen

@fadwen fadwen commented Oct 6, 2026

Copy link
Copy Markdown
Owner

Summary

The v0.27.0 release run passed every gate and then failed at the upload: the Gallery answered 400, "A package's ReleaseNotes property extracted from the PowerShell manifest may not be more than 10600 characters long". The manifest's notes carried every version since 0.1.0 and the 0.27.0 entry took them to 11,319 characters. Nothing is on the Gallery for 0.27.0; it still has 0.26.0.

This trims the notes and makes the release rehearsal measure them, so the limit is met locally rather than discovered at upload.

Changes

  • IntuneScriptLab.psd1. ReleaseNotes keeps 0.27.0, 0.26.0 and 0.25.0 (2,673 characters) and ends with a pointer to CHANGELOG.md for 0.1.0 to 0.24.0. The changelog already holds every one of those entries, and it ships in the package.
  • Build/Publish-Module.ps1. The manifest checks now fail when ReleaseNotes exceeds 10,600 characters, naming the length and the limit. Against the manifest as tagged the rehearsal stops with "The manifest's ReleaseNotes is 11319 characters; the Gallery accepts at most 10600"; against the trimmed one it stages, verifies and stops at the publish as before.
  • CHANGELOG.md. A line under 0.27.0 recording this.

Why the rehearsal missed it: it checks the manifest's URIs, description and tags, stages the allowlisted package, imports it in a fresh process and verifies exports, a sample analysis, the analyzer rules and the help, then stops before the upload. The notes length is a Gallery rule enforced only on upload, and nothing local measured it until now.

After merge

The v0.27.0 tag points at the merge of #7, whose manifest the Gallery refuses, so the tag has to move to the merge of this pull request before the release workflow can succeed. Nothing was published under 0.27.0, so the version number is still free:

git fetch origin
git tag -d v0.27.0
git push origin :refs/tags/v0.27.0
git tag v0.27.0 origin/main
git push origin v0.27.0

release.yml re-runs every gate on the tag, checks that it matches ModuleVersion, and publishes.

… a rehearsal check for it

The v0.27.0 upload was refused with a 400: ReleaseNotes may not exceed 10,600 characters, and the manifest carried every version since 0.1.0 (11,319). The notes now keep the newest three versions and point at CHANGELOG.md, which ships in the package, for the rest. Build/Publish-Module.ps1 -WhatIf measures the notes, so the limit is met locally instead of at upload.
@fadwen
fadwen merged commit 9d71217 into main Oct 6, 2026
7 of 8 checks passed
@fadwen
fadwen deleted the fix/release-notes-length branch October 6, 2026 03:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant