chore: prepare release 4.5.2
Some checks are pending
CI / build (push) Waiting to run

This commit is contained in:
matt 2026-04-01 21:01:15 -07:00
parent e8b8fab3f8
commit 6d1d5a1822
7 changed files with 34 additions and 7 deletions

View file

@ -13,7 +13,7 @@
# HOST=0.0.0.0 # Uvicorn bind host (only when APP_MODE=web).
# PORT=8080 # Uvicorn port.
# WORKERS=1 # Uvicorn worker count.
APP_VERSION=v4.5.1 # Matches dockerhub compose.
APP_VERSION=v4.5.2 # Matches dockerhub compose.
############################
# Theming

View file

@ -8,8 +8,11 @@ This format follows Keep a Changelog principles and aims for Semantic Versioning
- Link PRs/issues inline when helpful, e.g., (#123) or [#123]. Reference-style links at the bottom are encouraged for readability.
## [Unreleased]
_No unreleased changes yet._
## [4.5.2] - 2026-04-01
### Added
- **Hover-intent prefetch** (`WEB_PREFETCH=1`): Hovering over an "Open" button on the Finished Decks page now prefetches the deck view in the background after a 100 ms delay, eliminating the CSV-parse wait on click. On Chrome 108+, uses the Speculation Rules API for full prerender (`data-prerender-ok="1"`); falls back to `rel=prefetch` on other browsers. Feature-flagged and off by default; respects Data Saver / 2G connections and limits concurrent prefetches to 2.
- **Hover-intent prefetch** (`WEB_PREFETCH=1`): Hovering over an "Open" button on the Finished Decks page now prefetches the deck view in the background after a 100 ms delay, eliminating the CSV-parse wait on click. Falls back to `rel=prefetch` on all browsers (Speculation Rules API infrastructure included for future side-effect-free GET routes). Feature-flagged and off by default; respects Data Saver / 2G connections.
## [4.5.1] - 2026-04-01
### Added

View file

@ -1,6 +1,9 @@
# MTG Python Deckbuilder
## [Unreleased]
### Added
- **Hover-intent prefetch** (`WEB_PREFETCH=1`): Hovering over an "Open" button on the Finished Decks page now prefetches the deck view in the background after a 100 ms delay, eliminating the CSV-parse wait on click. On Chrome 108+, uses the Speculation Rules API for full prerender (`data-prerender-ok="1"`); falls back to `rel=prefetch` on other browsers. Feature-flagged and off by default; respects Data Saver / 2G connections and limits concurrent prefetches to 2.
_No unreleased changes yet._
## [4.5.2] - 2026-04-01
### Added
- Hover-intent prefetch (`WEB_PREFETCH=1`): hovering the Open button on the Finished Decks page prefetches the deck view after 100 ms, making it load near-instantly. Off by default; Data Saver / slow connections are respected automatically.

View file

@ -144,7 +144,7 @@ services:
# WEB_THEME_FILTER_PREWARM: "0"
WEB_AUTO_ENFORCE: "0" # 1=auto-run compliance export after builds
WEB_CUSTOM_EXPORT_BASE: "" # Optional: custom base dir for deck export artifacts
APP_VERSION: "v4.5.1" # Displayed version label (set per release/tag)
APP_VERSION: "v4.5.2" # Displayed version label (set per release/tag)
# ------------------------------------------------------------------
# Misc / Land Selection (Step 7) Environment Tuning

View file

@ -146,7 +146,7 @@ services:
# WEB_THEME_FILTER_PREWARM: "0"
WEB_AUTO_ENFORCE: "0" # 1=auto-run compliance export after builds
WEB_CUSTOM_EXPORT_BASE: "" # Optional: custom base dir for deck export artifacts
APP_VERSION: "v4.5.1" # Displayed version label (set per release/tag)
APP_VERSION: "v4.5.2" # Displayed version label (set per release/tag)
# ------------------------------------------------------------------
# Misc / Land Selection (Step 7) Environment Tuning

21
docs/releases/v4.5.2.md Normal file
View file

@ -0,0 +1,21 @@
# MTG Python Deckbuilder v4.5.2
## Summary
Adds hover-intent prefetch for the Open Deck button on the Finished Decks page, reducing perceived load time when navigating into a deck view.
## Added
### Hover-intent prefetch (`WEB_PREFETCH=1`)
Hovering over an "Open" button on the Finished Decks page now prefetches the deck view in the background after a 100 ms delay. When you click, the page loads from the browser's prefetch cache rather than waiting on a network round-trip — making it feel near-instant.
- Off by default; enable with `WEB_PREFETCH=1`
- Respects `Save-Data` header and slow (2G) connections — no prefetch on metered/slow connections
- Limits concurrent prefetches to 2
- Speculation Rules API infrastructure included for future side-effect-free GET routes
- `Cache-Control: private, max-age=30` added to `/decks/view` when flag is enabled
## Configuration
| Variable | Default | Description |
|---|---|---|
| `WEB_PREFETCH` | `0` | Set to `1` to enable hover-intent prefetch on the Open Deck button |

View file

@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "mtg-deckbuilder"
version = "4.5.1"
version = "4.5.2"
description = "A command-line tool for building and analyzing Magic: The Gathering decks"
readme = "README.md"
license = {file = "LICENSE"}