Repository navigation
Releases: StealthCat/blockinator-web
Releases · StealthCat/blockinator-web
Release list
v1.20.11
Changes since v1.20.1.
1.20.11 — Multiple daily schedule windows
- Add up to 32 independent day/time windows to blocklists, whitelists, and policy targets with a shared timezone and OR matching.
- Preserve existing single-window schedules through SQLite/MySQL schema upgrades.
- Add window controls, per-window day presets, complete summaries, and next-transition calculations across overlapping and overnight windows.
- Validate every saved window and cover weekday/weekend boundaries, DST, round trips, and migration.
1.20.10 — Apply target precedence to scoped lists
- Use only the highest-priority scheduled target’s list assignments instead of combining endpoint, hostname, and network assignments.
- Preserve global lists, whitelist-target bypass, and fallback outside target schedules.
- Keep Policy Tester list explanations consistent with the decision engine and document the precedence change.
1.20.9 — Flush PTR cache
- Add an authenticated, CSRF-protected PTR cache flush control in Settings → Runtime.
- Clear learned identities and cached answers, queue tracked clients for fresh resolution, and preserve query history.
- Discard stale in-flight results and serialize invalidation with policy reloads.
1.20.8 — Compact policy target search
- Keep Search and Reset sized to their content and aligned with the target filters, with wrapping on narrow screens.
1.20.7 — Compact policy target actions
- Shorten policy target action labels to Pause, Resume, and Edit.
- Restore pause/resume controls on whitelist targets using the existing target-state action.
1.20.6 — Clear policy target terminology and polished controls
- Distinguish blocklist targets from whitelist targets in cards, editors, schedules, and creation buttons.
- Hide blocking state and pause/resume controls for whitelist targets, whose bypass follows their schedule independently of blocking state.
- Polish policy target actions with consistent sizing, icons, theme-aware colors, responsive layouts, and keyboard focus states.
1.20.5 — Streamlined README
- Focus the README on a concise overview, one complete recommended setup, and the stable-main update procedure.
- Move optional tag installation and checkout-transition instructions into the alternative-installation guide; consolidate setup and navigation text.
- Preserve every Reddit review and attribution unchanged as the final README section.
1.20.4 — Stable main installation workflow
- Recommend standard clone and fast-forward pull on stable main, keeping exact release-tag installation as an option.
- Add safe instructions for moving an existing single-branch tag checkout to main; retain matching release configuration for pinned Docker Hub images.
- Document dev as the home for unreleased application changes and main for stable code and current documentation, including contributor instructions.
1.20.3 — Pin installation instructions to the stable release
- Use the current published v1.20.1 tag in both source-build and Docker Hub configuration clone instructions.
- Replace branch-pull upgrade instructions with explicit tag fetch/checkouts and explain detached HEAD behavior and matching Docker image versions.
- Clarify the distinction between current source and published release versions; keep release-maintenance guidance consistent.
1.20.2 — Documentation consolidation
- Keep the recommended source-built Compose quick start in the README and move detailed deployment, user, API, operations, and contributor material into linked guides.
- Correct ignored-question semantics, system-theme options, incremental PTR reconciliation, and statistics/retention guidance; clarify migration prerequisites and runtime authentication.
- Consolidate repeated setup, security, and release instructions, and replace the completed TLS implementation checklist with links to current documentation.
- Update Docker Hub examples to the successfully published 1.20.1 image.
- Preserve all Reddit reviews unchanged as the final README section. Existing release tags and branches remain unchanged.
Upgrade note: Scoped lists now follow endpoint → hostname → network priority instead of combining assignments. Global lists still apply. Existing schedules are preserved; database upgrades add support for additional time windows.
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.
Blockinator Web v1.19.2
Highlights
- Polished management interface with scalable artwork, responsive layouts, and light/dark theme improvements.
- Expanded the Settings timezone selector to all available IANA time zones.
- Improved policy consistency, authentication security, admin responsiveness, and operational diagnostics.
Fixes and improvements
- Serialize policy rebuilds and use consistent database snapshots while keeping policy reads lock-free.
- Make list creation/replacement atomic and invalidate refresh caches when source settings or content change.
- Correct mixed DNS requests so non-ignored questions still receive policy evaluation.
- Preserve secure session-cookie settings, add bounded login rate limiting, and keep newly generated API keys out of redirect URLs.
- Reject insecure bootstrap credentials on fresh installations and strengthen request/upload validation.
- Validate blocklist download destinations at connection time, including redirects; private sources require the BLOCKLIST_PRIVATE_HOSTS allowlist.
- Move blocking admin work into a bounded worker pool, cache/coalesce statistics queries, and refresh query-log rows without full-page rendering.
- Improve logging failure handling, shutdown draining, statistics refresh reliability, and refresher error reporting.
- Add readiness checks and authenticated runtime diagnostics.
Upgrade notes
- Fresh installations must supply non-example bootstrap credentials. Existing database credentials retain precedence.
- Private/local blocklist sources must be explicitly allowlisted.
- The experimental automatic-update feature was reverted and is not included in this release.
Validation
- 155 local tests passed; 7 environment-dependent tests skipped.
- Python compilation, JavaScript syntax, and whitespace checks passed.
- GitHub CI passed for the release commit.
Release snapshot: f0586e7eb14a0f25b2b268d536cb9b4d8bbd0c3d
Branch: release/v1.19.2