Repository navigation
Blockinator Web v1.20.1
Highlights
- Add a read-only Policy Tester that explains matching targets, schedules, candidate lists, and the winning rule.
- Add searchable, paginated policy targets with dedicated editors, effective status, and the next schedule transition.
- Improve query history with cursor-based Next/Previous navigation, cached counts and filter choices, and exact/prefix searches.
- Add query shortcuts to open matched targets/lists and add domains to selected manual block lists or whitelists.
- Preserve editable form values after failed saves when JavaScript is enabled.
- Support whitelisted client, network, and reverse-DNS targets with schedule-aware whitelist precedence, plus a default system-theme preference.
Reliability and efficiency
- Automatically retry failed policy rebuilds and display pending activation and operational warnings.
- Isolate console reads from policy workers with a bounded worker pool.
- Replace repeated raw-history statistics scans with transactional retained totals and minute summaries.
- Maintain MySQL summaries without requiring server-level SUPER privileges or trigger creation; rebuild summaries after verified offline migrations.
- Run bounded age-retention pruning even without incoming traffic, and use durable incremental PTR backfill.
- Enforce HH:MM schedule validation, align multipart parsing with import limits, and pass the public HTTPS port through Docker Compose.
Upgrade notes
- Existing databases receive a one-time statistics backfill on startup; large histories may take longer to initialize. Statistics describe retained queries and decrease as logs are pruned.
- The retention ceiling remains 5 million rows. Last-page and explicit page-number links retain OFFSET compatibility.
- Direct external MySQL history edits require an offline summary rebuild.
- Continue running one application process; multiple workers/replicas require shared policy coordination.
- Publishing this release starts the validation and multi-architecture Docker Hub workflow. Image availability depends on successful completion of that workflow.
Validation
- 191 tests passed in the standard suite, with 8 environment-dependent tests skipped.
- 9 MySQL and migration integration tests passed.
- Browser checks covered form recovery, query shortcuts, mobile layouts, and light/dark themes.
- CI passed, including Docker build, Compose/Caddy validation, and benchmark smoke tests.
Release commit: b54f6d1fbb338f840fde631efd90c39aef7b4254
Release branch: release/v1.20.1
See CHANGELOG.md for the full source-version history.