Skip to content

Tag a stable release including the macOS arm64 dmg (homebrew-cask is still stuck on Rosetta) #835

Description

@iagodpassos

Hi @variar,

Follow-up to #256, which you closed on 2024-11-24 with "I've enabled vectorscan for Apple Silicon builds. Tested on Scaleway mac mini, seems to work fine. Closing this generic issue. Feel free to open new issues related to Apple arm64 builds." — so, opening a new one as invited. 🙂

The native arm64 build is in great shape. I installed klogg-24.11.0.1685-mac-arm64.dmg from the continuous-osx release on macOS 26.5 and verified it end to end:

  • lipo -archsarm64, and vmmap reports Code Type: ARM64 at runtime — genuinely native, no Rosetta
  • codesignDeveloper ID Application: Anton Filimonov (GAW773U324) with hardened runtime
  • spctl -a -t execaccepted, source=Notarized Developer ID
  • Qt 6.7.3, vectorscan compiled with the NEON path (hs_compile / hs_scan present)
  • Opened a 91 MB / 1M-line log, indexed fine

That asset already has 6,126 downloads, so plenty of people are finding it.

The problem is packaging, not the build. The last stable release is v22.06 (June 2022), and its only macOS assets are klogg-22.06.0.1289-OSX-Qt5.dmg and -OSX-Qt6.dmg, both x86_64. Because homebrew-cask tracks stable releases, Casks/k/klogg.rb is still pinned to 22.06 and ships:

caveats do
  requires_rosetta
end

So every Apple Silicon user who installs klogg via Homebrew gets the 2022 x86_64 Qt5 build running under Rosetta 2, even though a signed, notarized native build has existed for over a year. The cask sees 172 installs in the last 30 days / 503 in 90 days / 2,022 in the last year, and on current Macs essentially all of those are Rosetta.

homebrew-cask can't just point at continuous-osx: it's a rolling prerelease tag whose assets are replaced on every build, so the download URL would break.

The ask: tag a stable release from the current master so that the release assets include klogg-<version>-mac-arm64.dmg. The CI already produces it (the macos-arm-qt6 matrix entry), so this should just be a matter of cutting the tag. Once that exists, the cask can adopt on_arm / on_intel and drop requires_rosetta — I'm happy to open that homebrew-cask PR myself the day the release lands.

No pressure on scope: it doesn't need to be a "feature" release, just a tagged one so downstream packaging has something stable to point at.

Thanks for klogg — it's the tool I reach for on every large log.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions