Skip to content

QueryHop 1.0.2

Latest

Choose a tag to compare

@billyx86 billyx86 released this 29 Sep 02:26
· 21 commits to main since this release
d688949

Version 1.0.2, released from main (2026-09-29). First release in 18 months — the newest release before this one (b1.0-2, 2025-04-04) predates the 1.0.2 version bump and most of this year's work.

What changed since 1.0-2

  • Settings cache fix — the background worker now invalidates its rules cache when settings change in storage, so edits made outside the popup apply immediately (#55).
  • Popup module split — the preset picker and debug-log pane moved out of popup.js into popupPreset.js / popupDebug.js; popup.js is now the thin orchestrator (#53, #56).
  • Save-flow hardening — the save flow now surfaces an error when the background script fails to acknowledge a rules update, instead of flashing success (#37); Enter-to-save is bound on keydown (#39).
  • Version-sync guards — manifest.json and the three MARKETING_VERSION entries must stay in lockstep; CI fails if only one side is bumped (#48, #49, #50).
  • Full i18n — English and German locales for the popup, host window and preset names, with consistency tests (#21, #26, #29, #33–35).
  • Debug log — opt-in background-owned ring buffer with view cap, truncation disclosure, redacted query params, and a Copy-log button (#8, #12–15, #17–19).
  • Module architecture — background.js split into bgCommon / bgSettings / bgDebugLog; pure logic extracted into popupRules.js / popupState.js / popupI18n.js for unit testing (#14, #16, #22, #51).
  • Test suite — 251 node:test cases plus a 16-test Swift XCTest target, with a macOS Xcode build gate in CI (#7, #40–42).

Assets

This release was cut from a Linux environment; the macOS universal binary could not be built here and is not attached. A notarised QueryHop-1.0.2-macos-universal.zip will be uploaded to this release once it is built on a macOS machine — treat this release as source-only until then.