conv.

All stories
TechQuiet 4d · day 4

w64devkit maintainer recaps a year of code-signing, immutable releases, multilib

Nullprogram's retrospective details how co-maintainer Peter0x44 helped add signed, immutable releases and a multilib x64 toolchain to the Windows dev-kit.

What to know

  • w64devkit's releases are now code-signed, built via automated GitHub Actions, and made immutable once published.
  • The x64 release gained multilib support to also target 32-bit Windows, reducing the need for a separate x86 build in most cases.
  • Co-maintainer Peter0x44 drove many of the year's changes, with several improvements contributed back upstream to shared toolchain projects.
  • Coverage is limited to the original blog post syndicated across Hacker News, Lobsters, an RSS aggregator, and Mastodon, with almost no independent discussion yet.

w64devkit maintainer Author and lead maintainer of w64devkitPeter0x44 w64devkit co-maintainerMSYS2 Related open-source toolchain project

How it unfolded 1 development · click the chart to see its coverage articlesposts

Peak 3 pieces in one hour at Sep 20, 10 AM; 4 pieces over 4 days (1 article · 3 posts) Sep 20, 10 AM — 3 pieces · 1 article · 2 posts — Hacker News 1, Lobsters 1, Newswires 1Sep 20, 11 AM — quietSep 20, 12 PM — quietSep 20, 1 PM — quietSep 20, 2 PM — quietSep 20, 3 PM — quietSep 20, 4 PM — quietSep 20, 5 PM — quietSep 20, 6 PM — 1 piece · 1 post — Mastodon 1Sep 20, 7 PM — quietSep 20, 8 PM — quietSep 20, 9 PM — quietSep 20, 10 PM — quietSep 20, 11 PM — quietSep 21, 12 AM — quietSep 21, 1 AM — quietSep 21, 2 AM — quietSep 21, 3 AM — quietSep 21, 4 AM — quietSep 21, 5 AM — quietSep 21, 6 AM — quietSep 21, 7 AM — quietSep 21, 8 AM — quietSep 21, 9 AM — quietSep 21, 10 AM — quietSep 21, 11 AM — quietSep 21, 12 PM — quietSep 21, 1 PM — quietSep 21, 2 PM — quietSep 21, 3 PM — quietSep 21, 4 PM — quietSep 21, 5 PM — quietSep 21, 6 PM — quietSep 21, 7 PM — quietSep 21, 8 PM — quietSep 21, 9 PM — quietSep 21, 10 PM — quietSep 21, 11 PM — quietSep 22, 12 AM — quietSep 22, 1 AM — quietSep 22, 2 AM — quietSep 22, 3 AM — quietSep 22, 4 AM — quietSep 22, 5 AM — quietSep 22, 6 AM — quietSep 22, 7 AM — quietSep 22, 8 AM — quietSep 22, 9 AM — quietSep 22, 10 AM — quietSep 22, 11 AM — quietSep 22, 12 PM — quietSep 22, 1 PM — quietSep 22, 2 PM — quietSep 22, 3 PM — quietSep 22, 4 PM — quietSep 22, 5 PM — quietSep 22, 6 PM — quietSep 22, 7 PM — quietSep 22, 8 PM — quietSep 22, 9 PM — quietSep 22, 10 PM — quietSep 22, 11 PM — quietYesterday, 12 AM — quietYesterday, 1 AM — quietYesterday, 2 AM — quietYesterday, 3 AM — quietYesterday, 4 AM — quietYesterday, 5 AM — quietYesterday, 6 AM — quietYesterday, 7 AM — quietYesterday, 8 AM — quietYesterday, 9 AM — quietYesterday, 10 AM — quietYesterday, 11 AM — quietYesterday, 12 PM — quietYesterday, 1 PM — quietYesterday, 2 PM — quietYesterday, 3 PM — quietYesterday, 4 PM — quietYesterday, 5 PM — quietYesterday, 6 PM — quietYesterday, 7 PM — quietYesterday, 8 PM — quietYesterday, 9 PM — quietYesterday, 10 PM — quietYesterday, 11 PM — quietToday, 12 AM — quietToday, 1 AM — quietToday, 2 AM — quietToday, 3 AM — quietToday, 4 AM — quietToday, 5 AM — quietToday, 6 AM — quietToday, 7 AM — quietToday, 8 AM — quietToday, 9 AM — quietToday, 10 AM — quietToday, 11 AM — quiet 1
Sep 21Sep 22yesterdaynow · 12:39 PM ET
  1. 1

    Maintainer publishes year-in-review post on w64devkit

    The nullprogram.com blog post consolidating these changes was published and cross-posted, surfacing on Hacker News, Lobsters, an HN frontpage RSS feed, and Mastodon the same day.

    “Peter0x44 joined as co-maintainer, and has pushed the project in good, new directions, with ideas I would never have considered.”
    — w64devkit maintainer, Project maintainer · source
    1. first by HN Frontpage, 4d ago

  2. background

    w64devkit release packaging becomes code-signed — The maintainer announced in April that all EXEs and DLLs shipped in w64devkit releases are now code-signed with the maintainer's key, reducing false flags from security software.

  3. background

    GCC patched to allow invocation without PATH setup — A small GCC patch means users no longer need w64devkit's bin/ directory on their PATH to run the compiler, allowing direct invocation from scripts.

  4. background

    x64 release becomes a multilib toolchain — The x64 build can now also compile 32-bit Windows programs, making the separate x86 release relevant mainly for running on older hardware/OSes; the change was made possible by co-maintainer Peter0x44.

  5. background

    Release builds automated and locked with GitHub Actions — Builds are now triggered only by the maintainer's tag pushes via GitHub Actions, which code-signs and publishes releases transparently from source, and release immutability was enabled so published artifacts (verified by a release attestation) can never be altered afterward, even by the maintainer.

  6. background

    MSYS2 adopts the project's aas-sign signing tool — MSYS2 began using the maintainer's signing tool, aas-sign, which is now bundled into w64devkit releases as well.

  7. background

    Binutils patched to default to bigobj COFF format — A couple of years earlier the maintainer patched Binutils so releases default to the bigobj COFF format, avoiding the 65,535-section limit that large C++ builds can exceed, though this can break interaction with simpler linkers like Go's.