Skip to content

Dozer 5.0.1

Latest

Choose a tag to compare

@lylehust lylehust released this 19 Sep 16:35
· 1 commit to master since this release

Dozer 5.0.1

A bug-fix release for 5.0.0, from a review of that release's code. There are no
new features. Updating is recommended.

Fixed

A timer leak that made the app get slower the longer you used it. Every
hide/show cycle started a new repeating timer without stopping the previous one.
The run loop keeps its own reference to a scheduled timer, so the old one kept
firing forever and could never be stopped. Each tick scans every on-screen
window, so the cost stacked up with every click. This is very likely the cause of
the long-standing "Dozer is using a lot of CPU / 484MB of memory" reports
(upstream #211). Timers are now
invalidated before being replaced.

Three ways the app could crash instead of doing nothing. The status-icon
lookup called fatalError when an icon was momentarily missing — reachable
during normal use. These are now harmless no-ops.

Icons could be selected or removed incorrectly. Dozer matched status icons by
comparing their on-screen x position for equality, and an icon with no window
reported a position of 0. That is a real coordinate, so the wrong icon could be
picked — or the wrong one removed when using the "hide both icons" mode.
Selection is now by identity, and icons without a known position are skipped.

Also

  • The menu bar height is read live rather than cached for the life of the
    process, so it follows a display change.
  • Sparkle's updater starts after the app finishes launching, which is when
    Sparkle expects it to.
  • make release now runs the real signing and notarization pipeline; it used to
    produce an ad-hoc signed archive while describing itself as signed.
  • Scripts/release.sh derives the version from project.yml, downloads the
    Sparkle tools it needs, emits the correct sparkle:version, and refuses to
    release if the app's update public key does not match the signing key.

Downloads

Two builds of the same 5.0.1 app. Both are signed, notarized and stapled.

File Architectures Use
Dozer-5.0.1-universal.dmg Intel + Apple Silicon Works on any Mac, macOS 14 or later
Dozer-5.0.1-arm64.dmg Apple Silicon only Smaller download (~1.4 MB vs ~2.2 MB)

The universal build contains two complete copies of the app and of Sparkle; the
arm64 build is thinned to a single architecture, which is why it is about a
third smaller. Every Mach-O in it — the app, Sparkle, the Updater, Autoupdate
and both XPC services — is arm64-only.

Use the universal build unless you specifically want the smaller one.

Install

Download either DMG below, open it, and drag Dozer to your
Applications folder. If you already run 5.0.0, Dozer will also offer this update
automatically.

Requirements

macOS 14 Sonoma or later, on Apple Silicon or Intel.