From 464c71c5f3586cc7a3c7be631b2cd06c37e34222 Mon Sep 17 00:00:00 2001 From: James Maes Date: Mon, 12 Oct 2026 19:23:28 -0500 Subject: [PATCH 1/2] docs: publish user download guide for the first release Link stable and dev EXE/ZIP assets, align portable update instructions with actual probes, fix the verification link, record verified release source and live checklist references, and advance the next development prefix to1.0.2. Merge only after actual production artifacts are verified. Co-Authored-By: Codex GPT-6 Signed-off-by: James Maes --- Directory.Build.props | 2 +- README.md | 16 ++++++------ SECURITY.md | 5 ++-- docs/SESSION-STATE.md | 58 ++++++++++++++++--------------------------- docs/TODO.md | 25 ++++++++----------- docs/user-guide.md | 2 +- 6 files changed, 42 insertions(+), 66 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 4cbeef1..8dbee14 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -54,7 +54,7 @@ commit as "+" on AssemblyInformationalVersion, which the About dialog and the CLI's version output show as a short hash. --> - 1.0.0 + 1.0.2 dev diff --git a/README.md b/README.md index 5deb22c..66addda 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,7 @@ Read Markdown comfortably, keep up with changes, and turn your notes into someth MarkdownViewr is a dedicated Windows reader for project documentation, notes, and README files. Open a document, choose a look you like, and focus on the words. -**[Release downloads](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/releases) · [User guide](docs/user-guide.md) · [Ask a question](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/discussions)** - -> The first Windows release is being prepared. There are no published Windows downloads yet; the Releases page will contain the stable installer and development previews when publication completes. +**[Download Windows installer](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/releases/latest/download/markdownviewr-windows-stable-Setup.exe) · [User guide](docs/user-guide.md) · [Ask a question](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/discussions)** [![License: MIT](https://img.shields.io/badge/license-MIT-green)](LICENSE) [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/15417/badge)](https://www.bestpractices.dev/en/projects/15417) @@ -29,17 +27,17 @@ Contents and Source start hidden. Turn them on when needed, or change their new- ## Download and install -The planned Windows packages support **Windows 10 version 1809 or later and Windows 11, x64**. Microsoft Edge WebView2 Runtime is required. No .NET SDK is needed to use a release. +Windows packages support **Windows 10 version 1809 or later and Windows 11, x64**. Microsoft Edge WebView2 Runtime is required. No .NET SDK is needed to use a release. | Edition | Choose it for | Package | | --- | --- | --- | -| Stable | Everyday reading | `markdownviewr-windows-stable-Setup.exe` | -| Development preview | Trying upcoming changes | `markdownviewr-windows-dev-Setup.exe` | -| Portable | Running without installation | `markdownviewr-windows-stable-Portable.zip` | +| Stable | Everyday reading | [Download EXE installer](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/releases/latest/download/markdownviewr-windows-stable-Setup.exe) | +| Development preview | Trying upcoming changes | [Download dev EXE installer](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/releases/download/v1.0.1-beta.1/markdownviewr-windows-dev-dev-Setup.exe) | +| Portable | Running without installation | [Download portable ZIP](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/releases/latest/download/markdownviewr-windows-stable-Portable.zip) | -Once available, download a package from [Releases](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/releases). Run Setup for a per-user installation without administrator rights, or extract the portable ZIP before launching the app. +Download a package from [Releases](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/releases). Run Setup for a per-user installation without administrator rights, or extract the portable ZIP before launching the app. -Installed editions check for updates through **Help → Check for updates**. Stable and development editions keep separate settings and update channels, so they can coexist. Portable copies do not self-update. +Installed and portable editions check for updates through **Help → Check for updates**. Stable and development editions keep separate settings and update channels, so they can coexist. ## Quick start diff --git a/SECURITY.md b/SECURITY.md index 59a663e..0774a3c 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -50,11 +50,10 @@ minor receives security fixes for 6 months. Public Windows releases require Authenticode signing of the final shipped binaries and installers. Publication fails closed until the approved Azure signing identity -and expected publisher, trust and timestamp are verified. No verified signed -MarkdownViewr release has been published yet; unsigned test fixtures are not releases. +and expected publisher, trust and timestamp are verified. Unsigned test fixtures are not releases. Verify final signatures, `SHA256SUMS` and provenance attestations as described in the -[README](README.md#verifying-a-release) and +[Developer Guide](DEVELOPERS.md#releases-and-verification) and [release signing instructions](docs/release-signing.md). No historical exception is claimed as permission to publish unsigned application releases. diff --git a/docs/SESSION-STATE.md b/docs/SESSION-STATE.md index 4f83e22..c65bffd 100644 --- a/docs/SESSION-STATE.md +++ b/docs/SESSION-STATE.md @@ -2,48 +2,32 @@ Updated: 2026-10-12 -## Release blockers after main merge - 2026-10-12 +## Release source and verification -Standards PR44 was personally reviewed by the owner and merged atb3e4b49. -Its version/changelog-only release PR42 merged at96cbdf2; signedv1.1.1 was pushed -and release CI38322016784 is running. The app caller now pins that exact builder. -No new Azure administration or credentials are required. +The owner-reviewed release source is main commit4c0ccc71f388686f19d794ee3ec1b150033a3209, +merged normally through PR37. Its tree matches reviewed a3cab85; GitHub verifies +its signature. Actual focused30, native111, published111 and installed stable/dev110 +reports each have zero failures/skips. Update/restart, channel coexistence, +file-type registration and preservation of existing defaults are verified. -App PR37's first hosted run completed111 published tests:110 passed, one literal -keyboard assertion observedjk instead ofjkg. The test now waits for the exactjkg -value within its existing10-second deadline before retaining the same assertion. -FlaUI5.0.0's UntilInputIsProcessed is only a100ms sleep, not an acknowledgement. -The exact test is also included in the focused hosted regression job. Builds and -formatting pass; hosted verification remains required. Local baseline and changed -runs both stopped earlier at missing FindText, so they do not verify thejkg fix. -Temporary diagnostics were removed. Original preview processes/profiles remain -untouched. Fresh exact-head hosted acceptance must pass before merge/publication. +The signing caller pins published immutable standards1.1.1 at96cbdf2. Its five +assets verify hashes/provenance; the bundled builder matches the personally +reviewed PR44 source. Caller NuGet mapping and strict publisher/signature gates +are preserved. No new Azure administration is required. -The owner-reviewed application merged through PR35 at38dd5c1. Main CI38294895221 -passed; retained published111 and installed stable/dev110 reports have zero -failures/skips. OpenSSF project15417 assessment is saved at70%, not passing. -The exact Syft image is now explicitly owner-approved and allowlisted. +Signed1.0.1/stable and1.0.1-beta.1/dev tags preserve the earlier failed1.0.0 refs. +Live production status and final shipped-artifact evidence belong in the +[release checklist](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/issues/33) +and [GitHub Releases](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/releases). +Require successful production signing and verify exact downloaded bytes before +claiming a signed public release. Avoid duplicating transient CI state here. -Neither production release is published. Signedv1.0.0 andv1.0.0-beta.1 tags remain -preserved. Dev38299469062 passed acceptance and Azure OIDC login, then failed the -official signing action dependency install because --add-source conflicts with -NuGet package source mapping. Standards PR44 stages the exact verified dependency -without changing caller NuGet policy;40 signing tests and the real package bootstrap -pass locally. Production CI signing and final artifact verification remain pending. +The next development prefix is1.0.2. EXE/ZIP publication comes first; MSI is tracked +for the following release in issue36. Release-validation latency is tracked in +issue38. OpenSSF project15417 remains a saved70% assessment, not a passing badge. +Original owner previews/profiles and unrelated worktrees must remain untouched. -Stable38299469141 attempt2 completed110 of111 published tests without a reported -test failure before its600-second process limit. The successful main published -suite took572 seconds. The bounded suite budget is now900 seconds; individual -test deadlines, assertions, cases and failure handling remain unchanged. The job -budget allows all three suites plus packaging/update probes. Two real subprocess -regressions verify that hangs and nonzero exits still fail the gate. Fresh hosted -acceptance is required; this timing change is not proof of a successful release. - -The owner's latest instruction is EXE/portable ZIP first, MSI next release (#36). -Do not cancel runs, alter published assets, replace existing release tags, skip -acceptance or claim public downloads. Next: genuine review and green checks for -the two fixes, merge the shared builder, update the app's immutable builder pin, -then publish new signed release candidates and verify the downloaded artifacts. +## Historical release snapshots ## Current release status - 2026-10-12 diff --git a/docs/TODO.md b/docs/TODO.md index aaaddd7..c3ed12a 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -1,21 +1,16 @@ # Development Tasks -## Current release checklist - 2026-10-12 +## Release and follow-up work -- [x] Merge genuinely owner-reviewed app through PR35 at38dd5c1; all main gates pass. -- [x] Preserve signed1.0.0/stable and1.0.0-beta.1/dev tags; no release is published. -- [x] Apply only the exact Syft image addition explicitly approved by the owner. -- [x] Prove production Azure OIDC login; preserve existing account/profile/trust. -- [x] Reproduce signing dependency conflict; standards PR44 real package bootstrap and40 signing tests pass locally. -- [x] Measure stable retry110/111 without reported test failures before600-second limit; prepare bounded900-second suite budget with unchanged assertions/deadlines. -- [ ] Obtain genuine reviews, pass exact-head hosted checks and merge the release fixes. -- [x] Owner personally reviewed standards PR44; merge the signing fix and version-only PR42 through normal protections, then push signedstandards1.1.1. -- [x] Update the app caller to fixed builder96cbdf2; preserve caller NuGet mapping and strict signing verification. -- [x] Keep the exactjkg assertion while awaiting native text processing within its existing deadline; add the case to focused hosted regressions. -- [ ] Verify fresh full hosted acceptance and obtain genuine final-head app review before merge. -- [ ] Publish stable/dev EXE and ZIP candidates; verify exact distributed signatures, timestamps, hashes, SBOMs and attestations (#33). -- [ ] Update user download links only after actual verified publication. -- [ ] Deliver signed and acceptance-tested MSI installers in the next release (#36), following the owner's latest decision. +- [x] Merge genuinely reviewed PR37 at4c0ccc7; all required gates pass, with actual focused30/native111/published111/stable110/dev110 reports and no failures/skips. +- [x] Publish and verify owner-reviewed standards1.1.1; pin96cbdf2 without changing caller NuGet mapping or Azure trust scopes. +- [x] Preserve the failed1.0.0 tags and push signed1.0.1 stable/dev candidates on the verified main commit. +- [x] Prepare direct user download links, current portable-update instructions and a valid developer verification link. +- [x] Set the next development version prefix to1.0.2. +- Track production publication and exact shipped signing/checksum/SBOM/provenance results in [release checklist#33](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/issues/33). +- Deliver signed, installed-acceptance-tested MSI installers next release (#36). +- Reduce repeated release validation while preserving trust and complete acceptance (#38). +- Complete remaining evidence-backed OpenSSF assessment items; current70% is not a passing badge (#31). ## Prior release checklist diff --git a/docs/user-guide.md b/docs/user-guide.md index a8afda4..3efef79 100644 --- a/docs/user-guide.md +++ b/docs/user-guide.md @@ -60,7 +60,7 @@ The installer preserves your current defaults. Windows requires you to choose th ## Updates and local data -Installed stable and development editions update within their own channels using **Help → Check for updates**. They have separate settings, recent files, and logs. Portable copies require a fresh download. +Stable and development editions, including portable copies, update within their own channels using **Help → Check for updates**. They have separate settings, recent files, and logs. Settings and logs are stored locally under `%LOCALAPPDATA%\markdownviewr-windows` or `%LOCALAPPDATA%\markdownviewr-windows-dev`. **Help → Activity log** opens the log viewer and provides a shortcut to its folder. -- 2.54.0 From 63b50245984c8ab4682b75dfcede410d593d4ab9 Mon Sep 17 00:00:00 2001 From: James Maes Date: Tue, 13 Oct 2026 06:12:04 -0500 Subject: [PATCH 2/2] fix(releases): pin corrected signing builder for first downloads Use the published standards1.1.2 commit, preserve failed immutable candidate refs, prepare1.0.2 stable/dev links and next development prefix1.0.3. Application behavior and technical gates remain unchanged. Owner authorized proceeding without further human-review requests; record the waiver truthfully. Co-Authored-By: Codex GPT-6 Signed-off-by: James Maes --- .github/workflows/release.yml | 2 +- Directory.Build.props | 2 +- README.md | 2 +- docs/SESSION-STATE.md | 41 +++++++++++++++++++---------------- docs/TODO.md | 18 ++++++++------- 5 files changed, 35 insertions(+), 30 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5fc0f47..2a80a81 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -95,7 +95,7 @@ jobs: release: needs: [verify, gates, security, codeql, scripts, fuzzing] - uses: KofTwentyTwo/standards/.github/workflows/release-velopack.yml@96cbdf208a15c9c524676bd15ff9e323228a952b # v1.1.1 + uses: KofTwentyTwo/standards/.github/workflows/release-velopack.yml@083d90326a8f3b750d840b6180e00870ee1342f5 # v1.1.2 permissions: contents: write # create and publish the GitHub release id-token: write # sign attestations; Azure OIDC when signing diff --git a/Directory.Build.props b/Directory.Build.props index 8dbee14..96533ba 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -54,7 +54,7 @@ commit as "+" on AssemblyInformationalVersion, which the About dialog and the CLI's version output show as a short hash. --> - 1.0.2 + 1.0.3 dev diff --git a/README.md b/README.md index 66addda..f0baad4 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Windows packages support **Windows 10 version 1809 or later and Windows 11, x64* | Edition | Choose it for | Package | | --- | --- | --- | | Stable | Everyday reading | [Download EXE installer](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/releases/latest/download/markdownviewr-windows-stable-Setup.exe) | -| Development preview | Trying upcoming changes | [Download dev EXE installer](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/releases/download/v1.0.1-beta.1/markdownviewr-windows-dev-dev-Setup.exe) | +| Development preview | Trying upcoming changes | [Download dev EXE installer](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/releases/download/v1.0.2-beta.1/markdownviewr-windows-dev-dev-Setup.exe) | | Portable | Running without installation | [Download portable ZIP](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/releases/latest/download/markdownviewr-windows-stable-Portable.zip) | Download a package from [Releases](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/releases). Run Setup for a per-user installation without administrator rights, or extract the portable ZIP before launching the app. diff --git a/docs/SESSION-STATE.md b/docs/SESSION-STATE.md index c65bffd..cf275cf 100644 --- a/docs/SESSION-STATE.md +++ b/docs/SESSION-STATE.md @@ -1,31 +1,34 @@ # Session State -Updated: 2026-10-12 +Updated: 2026-10-13 ## Release source and verification -The owner-reviewed release source is main commit4c0ccc71f388686f19d794ee3ec1b150033a3209, -merged normally through PR37. Its tree matches reviewed a3cab85; GitHub verifies -its signature. Actual focused30, native111, published111 and installed stable/dev110 -reports each have zero failures/skips. Update/restart, channel coexistence, -file-type registration and preservation of existing defaults are verified. +Application behavior remains the owner-reviewed PR37 source at main4c0ccc7. +Actual focused30, native111, published111 and installed stable/dev110 reports +have zero failures/skips. Unchanged-source main validation38325540268 attempt2 +also passes published111 and installed stable/dev110 each. Update/restart, +channel coexistence, registration and preservation of defaults are verified. -The signing caller pins published immutable standards1.1.1 at96cbdf2. Its five -assets verify hashes/provenance; the bundled builder matches the personally -reviewed PR44 source. Caller NuGet mapping and strict publisher/signature gates -are preserved. No new Azure administration is required. +The signing caller pins standards1.1.2 at +083d90326a8f3b750d840b6180e00870ee1342f5. Personally approved PR45 corrects the +GitHub pwsh bootstrap wrapper; all hosted signing checks pass. Caller NuGet +mapping, Azure trust scopes and strict publisher/signature gates are unchanged. +No new Azure administration is required. -Signed1.0.1/stable and1.0.1-beta.1/dev tags preserve the earlier failed1.0.0 refs. -Live production status and final shipped-artifact evidence belong in the -[release checklist](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/issues/33) +Preserve the failed1.0.0 and1.0.1 stable/dev tags. New candidates are +1.0.2/stable and1.0.2-beta.1/dev. Production status and exact shipped-artifact +proof belong in [release checklist](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/issues/33) and [GitHub Releases](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/releases). -Require successful production signing and verify exact downloaded bytes before -claiming a signed public release. Avoid duplicating transient CI state here. +Require successful signing and verification of exact downloaded bytes before +claiming a signed public release. -The next development prefix is1.0.2. EXE/ZIP publication comes first; MSI is tracked -for the following release in issue36. Release-validation latency is tracked in -issue38. OpenSSF project15417 remains a saved70% assessment, not a passing badge. -Original owner previews/profiles and unrelated worktrees must remain untouched. +The maintainer authorized release without further human-review requests on +2026-10-13. Record this as an explicit release-specific waiver, never as a claim +that an unseen change was personally read. Automated review and technical CI +remain required. The next development prefix is1.0.3. EXE/ZIP publication comes +first; MSI is tracked for the following release in issue36. OpenSSF15417 remains +70%, not passing. Preserve original owner previews/profiles and unrelated work. ## Historical release snapshots diff --git a/docs/TODO.md b/docs/TODO.md index c3ed12a..4740542 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -2,15 +2,17 @@ ## Release and follow-up work -- [x] Merge genuinely reviewed PR37 at4c0ccc7; all required gates pass, with actual focused30/native111/published111/stable110/dev110 reports and no failures/skips. -- [x] Publish and verify owner-reviewed standards1.1.1; pin96cbdf2 without changing caller NuGet mapping or Azure trust scopes. -- [x] Preserve the failed1.0.0 tags and push signed1.0.1 stable/dev candidates on the verified main commit. -- [x] Prepare direct user download links, current portable-update instructions and a valid developer verification link. -- [x] Set the next development version prefix to1.0.2. -- Track production publication and exact shipped signing/checksum/SBOM/provenance results in [release checklist#33](https://github.com/KofTwentyTwo/MarkdownViewr.Windows/issues/33). +- [x] Merge reviewed PR37 at4c0ccc7; focused30/native111/published111/stable110/dev110 pass with no failures/skips. +- [x] Merge personally approved signing-wrapper PR45 and metadata-only standards1.1.2 proposal; pin083d903 without changing NuGet mapping or Azure trust scopes. +- [x] Preserve failed1.0.0 and1.0.1 stable/dev tags and prepare new1.0.2 candidates. +- [x] Prepare direct download links, portable-update guidance and developer verification links. +- [x] Set next development VersionPrefix to1.0.3. +- [ ] Verify published standards1.1.2 bundle hashes/provenance and exact builder bytes. +- [ ] Pass final exact-head CI, record automated review and the maintainer's explicit release-specific review waiver, and merge normally. +- [ ] Publish signed stable/dev EXE installers and portable ZIPs; verify exact shipped signatures, publisher, trust, timestamps, checksums, SBOMs and provenance (#33). - Deliver signed, installed-acceptance-tested MSI installers next release (#36). -- Reduce repeated release validation while preserving trust and complete acceptance (#38). -- Complete remaining evidence-backed OpenSSF assessment items; current70% is not a passing badge (#31). +- Reduce repeated validation while preserving trust and complete acceptance (#38). +- Complete remaining OpenSSF evidence; saved70% is not a passing badge (#31). ## Prior release checklist -- 2.54.0