Skip to content

1.5.1

Choose a tag to compare

@bnfy bnfy released this 17 Aug 23:55
f356dc3

Blanc 1.5.1

Fixed

  • Restarting to install an update on Windows no longer tears down Blanc's BrowserWindows and WebContents on a one-second forced-exit timer. Blanc now hands shutdown, installation, and relaunch directly to the signed NSIS updater, removing the native race that could leave 1.4.0 hung behind a Windows “Blanc is not responding” dialog.
  • The incoming Windows installer now gives an older Blanc build two seconds to complete its normal quit, then terminates a stuck old process and continues through the existing bounded process-close fallback. This installer-side compatibility path protects upgrades that begin inside 1.4.0, before the new app-side restart code is installed.
  • Check for Updates now responds as soon as it finds a newer version, confirming that the download has started instead of appearing to do nothing until the installer is ready.
  • A compiled blocker-cache file still held or refused by Windows after an interrupted upgrade no longer keeps browser protection offline. Blanc rebuilds from the bundled, hash-verified EasyList and EasyPrivacy snapshot and uses that in-memory engine immediately; cache persistence remains a startup optimization, while bundled-list verification still fails closed.
  • Windows packages now preserve the pinned EasyList and EasyPrivacy inputs with their required LF byte representation. The byte-verification gate introduced in 1.2.0 exposed an existing Windows checkout conversion: confirmed published 1.3.0, 1.4.0, and 1.5.0 installers carry CRLF list bytes, so their security hashes correctly fail closed and produce Blocking could not start; builds before that gate could still parse the converted lists. The native Windows workflow now verifies the blocker inputs before packaging, and startup failures expose their local diagnostic directly on the recovery card.
  • Recently closed tabs now behave like a bounded undo buffer instead of a hidden session archive. The internal recovery-tier label is no longer shown, each row can be explicitly forgotten, the section can be cleared at once, and untouched entries automatically expire after one hour. Forgetting an entry during its brief live-restore window immediately destroys the parked page.

Faster Windows updates

  • Packaged builds check on launch, every thirty minutes instead of every four hours, and when Blanc regains focus after the previous check is at least fifteen minutes old. Concurrent checks are coalesced so the faster schedule does not duplicate network work.
  • Differential Windows downloads are explicitly enabled and continue to use the signed release's installer block map when a patch can be applied; electron-updater safely falls back to the full installer when it cannot.
  • Downloaded updates remain eligible for automatic installation on a normal app quit, and an explicit Restart Now uses the silent installer path and relaunches Blanc after the update completes.

Release verification

  • Unit and packaged coverage lock the Windows NSIS handoff, installer-side graceful-quit window, bounded process-close fallback, blocker cache recovery, cross-platform filter-byte integrity, visible blocker diagnostics, duplicate-restart guard, closed-tab disposal and expiry, coalesced update checks, focus throttling, differential-download configuration, and manual-check feedback.
  • Before publication, the signed Windows build must complete real public upgrades from both Blanc 1.4.0 and Blanc 1.5.0 without a crash dialog, and the installed executable and installer must retain the expected Bananify Creative Authenticode identity.
  • SHA256SUMS is authenticated with a Sigstore bundle whose expected certificate identity is anthony@bnfy.me and whose expected OIDC issuer is https://github.com/login/oauth.

Other platforms

macOS Apple Silicon, signed Windows, and Linux are built from the same v1.5.1 source tag and published with one signed SHA-256 manifest.