Icod.Terminal 1.0.0 — Stable Release Promotion - #34
Merged
Conversation
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.
Promotes the qualified
Icod.Terminal 1.0.0-rc1contract to stable1.0.0from exact greenmainSHAdfa149c604aaf860a18923d23999b045ab98532d.This PR is intentionally behavior- and API-neutral. Production C# files change only by the required LGPL source-header addition; no executable statements, public signatures, enum values, protocol behavior, or runtime semantics change. The frozen public API fingerprint remains unchanged.
Stable version promotion
VersionSuffix, makingVersion/PackageVersionexactly1.0.0;AssemblyVersionat1.0.0.0;PackageReleaseNotesfor stable 1.0 and pins release/migration links tov1.0.0.Stable release documentation
docs/releases/1.0.0.md;1.0.0entry toCHANGELOG.mdwhile retaining the published rc1 history;1.0.0installation/status and immutablev1.0.0documentation links;v1.0.0so the package presentation cannot drift withmain;docs/Migration-to-1.0.mdso stable 1.0 is the migration destination;docs/Compatibility-and-Versioning.mdso the stable baseline, not rc1, is the permanent authority;docs/Licensing.mdas the permanent library/executable licensing authority;Stable public API baseline
Adds:
docs/Public-API-Baseline-1.0.md;docs/Public-API-Baseline-1.0.sha256.Stable 1.0 adopts the exact rc1 fingerprint:
VerifyPublicApiBaseline.ps1treats that stable baseline as the authority. Any generated drift is a release blocker rather than an automatic baseline update.GPL/LGPL source-header closure
Icod.Terminallibrary source and the rootIcod.Terminal.csprojuse the required LGPL-3.0-or-later header;.csheader identifies the owning assembly, gives a one-line program description, and carriesCopyright (C) 2026 Timothy J. Bruce <uniblab@hotmail.com>;.csprojbegins with<?xml version="1.0" encoding="utf-8"?>, followed immediately by the corresponding XML-comment license header and then<Project ...>;Icod.TerminalNuGet package remainsLGPL-3.0-or-later; GPL repository executables do not change the library package license;packaging/VerifyLicenseHeaders.ps1validates the exact expected template for every tracked.csand.csprojfile;main, distribution, and tag validation, and in localall/validatebuilds.The root
LICENSEcontains the LGPLv3 terms and the incorporated GPLv3 terms referenced by those headers.Stable release-line package gates
Candidate-era implementation names are removed from the permanent path:
VerifyRc1Package.ps1->VerifyReleaseLinePackage.ps1;VerifyDCursesRc1Package.ps1->VerifyDCursesPackage.ps1;package-rc1-smoke->package-release-line-smoke;dcurses-rc1-package-acceptance-> stabledcurses-package-acceptanceproject metadata, reusing the existing hardening-soak program;rc->release/1.0 release linein PR, main, manual distribution, and tag workflows.The rc1 T-series documents and published rc1 baseline remain unchanged as historical evidence.
Exact validation
Final stable-promotion/licensing-closure head:
17360a8bd8c3a288c7d8d399084d592f673b8ae5PR workflow #976 (
34196455757) is fully green:The package-candidate gate proves the exact source/project header templates and the unchanged stable API fingerprint before package construction. The release-line shard revalidates the packed stable README, curated
1.0.0notes, changelog/version links, generated XML, and fresh net8/net9/net10 package consumer.There are no unresolved review threads. PR #34 remains open, non-draft, and mergeable.
Post-merge gate
After merge, the exact resulting
maincommit must pass the six-runner Release runtime matrix plus the single-package/four-shard package contract. Tagv1.0.0is not authorized by this PR alone; publication remains a separate explicit decision.