Fixed
- Calibre "Push all to Calibre" button state now matches Test-connection result (#342) — the button was enabled even when the last connectivity test failed, allowing pushes to silently no-op against an unreachable bridge. It now stays disabled until a successful test in the current session.
- Download client host field no longer double-schemes the URL (#353) — if a user typed
https://orhttp://in the Host field, the downloader prepended the scheme a second time, producinghttps://https://…and causing every connection attempt to fail. The host is now stripped of any leading scheme before the URL is assembled. - CSP nonce now injected server-side (#353) — the inline
<script>tag inindex.htmlused a static placeholder nonce that never matched the server-generated nonce, causing the theme-initialisation script to be blocked by Content-Security-Policy in strict environments. The nonce is now written by the Go server at request time. - Docker image tags now include
v-prefixed semver variants (#353) — the CI metadata action was missingtype=semver,pattern=v{{version}}, so only bare1.2.xtags were pushed to ghcr.io. Both1.2.xandv1.2.xare now available. - Version string in footer links to the GitHub releases page (#356) — clicking the version badge now opens the corresponding release regardless of whether the string is a semver,
v-prefixed semver, ordev-<sha>.