Skip to content

2.7.7 is ready to cut — and it should be the first signed Windows build #752

Description

@PathGao

Summary

14 merges (18 pull requests) since v2.7.6 went out on 2026-08-27. All of them
are fixes and features this time — no CI, no refactors — and six of them close
issues people reported.

master is green: 1627 tests pass (1029 npm test, 434 vitest, 164 cargo).

One thing is worth reading before you cut, and it is the same thing as last
time: Windows signing (#562). This release is the one it should land in,
and the section below says why and what it takes.


Sign Windows first, then cut

Where #562 stands: you asked on 26 Aug how to sign both the portable and the
installer through SignPath, and the answer is in the thread — one artifact
configuration signs all four exes from one ZIP. Under it is the list of five
things to do in app.signpath.io and the four strings I need back (organization
id, project slug, signing policy slug, artifact configuration slug). The
workflow change on my side is one pull request, written the day the strings
arrive. Nothing else in #562 blocks this.

Why 2.7.7 rather than 2.7.8:

  • Do not clear the temporary files #722 is waiting on it. A user on Windows has an empty file re-created
    at the old path 0.2–2 s after every rename, in document folders and next to
    Markpad's own settings. The log put it outside Markpad — something on that
    machine treats an unsigned process specially — and I closed it telling them
    to try again on the first signed build. If 2.7.7 ships unsigned, that is
    one more release they cannot test.
  • The updater serves it too. Every Windows install that auto-updates gets
    whatever 2.7.7 is. Unsigned, that is one more SmartScreen dialog (SECURITY: the windows installer of the new version has a trojan virus #334,
    Windows portable release flagged by Microsoft VirusTotal heuristic detection #466) delivered to the 91% of downloads that are Windows. Signed, it is
    the release where that dialog stops.
  • The release notes change with it. The SmartScreen [!NOTE] in the
    release template comes out in the same pull request that wires the
    signing, so it does not have to be remembered separately.

If SignPath Foundation's approval takes longer than a week, cut 2.7.7
anyway.
Everything below is finished and tested; nothing in it should wait
on a third party's queue. But if the approval is days away, the signed build
is worth those days.

macOS is unchanged: signed with the identity #707 added in 2.7.5, not
notarized, and not part of this ask.


Features

Fixes


To cut it — @alecdotdev

Once signing is wired, or a week from now, whichever is first:

npm run release 2.7.7

then commit, tag, push, dispatch Build and Release, and publish the draft
once the assets look right. Publishing is what fires Chocolatey and the Snap
Store. With SignPath wired the Windows job pauses until you approve the
signing request; nothing is uploaded before that.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions