Replace legacy branding with Kaizoku

This commit is contained in:
Codex
2026-08-09 13:42:51 +02:00
parent 95c9eca99f
commit fa7a922d13
15 changed files with 223 additions and 459 deletions
+31 -25
View File
@@ -1,5 +1,11 @@
# Changelog
## 0.52.0 - 2026-08-09
- Removed remaining legacy app branding from the UI, runtime settings, cookies, Docker files, ignores, README, and active tests.
- Standardized exposed environment variables on the `KAIZOKU_*` namespace.
- Removed obsolete downloader fallback names from active config, dependency reporting, and queue tests.
## 0.51.9 - 2026-08-09
- Closed the Search result floating window after successful Add to queue or Add to watchlist actions.
@@ -87,7 +93,7 @@
## 0.49.7 - 2026-07-21
- Ignored the local `_backup_/` folder in git and Docker build contexts so temporary backups do not get committed or copied into images.
- Added an agent note to preserve existing ani-cli-web configuration and watchlist data during future updates.
- Added an agent note to preserve existing Kaizoku configuration and watchlist data during future updates.
## 0.49.6 - 2026-07-21
@@ -103,13 +109,13 @@
## 0.49.4 - 2026-07-19
- Added optional download job stdout mirroring with `ANI_CLI_WEB_JOB_STDOUT`, enabled by default in Docker and Docker Compose so container log collectors can capture downloader output.
- Added optional download job stdout mirroring with `KAIZOKU_JOB_STDOUT`, enabled by default in Docker and Docker Compose so container log collectors can capture downloader output.
## 0.49.3 - 2026-07-19
- Changed Docker builds to copy the current local `ani-cli-web` checkout into the image instead of cloning the configured remote branch, so rebuilt images include local Docker/runtime fixes immediately.
- Changed Docker builds to copy the current local `Kaizoku` checkout into the image instead of cloning the configured remote branch, so rebuilt images include local Docker/runtime fixes immediately.
- Installed Docker `anipy-cli` and `animdl` in separate virtualenvs, with `animdl` pinned under Python 3.11 so its older native dependency pins resolve and remain executable.
- Removed the unused `ANI_CLI_WEB` compose build argument and updated Docker documentation to match the local-checkout build flow.
- Removed the unused `KAIZOKU` compose build argument and updated Docker documentation to match the local-checkout build flow.
## 0.49.2 - 2026-07-19
@@ -190,7 +196,7 @@
## 0.45.12 - 2026-05-26
- Changed `ani-cli-web` runtime version reporting to load directly from the project `VERSION` file instead of a duplicated hardcoded constant, which keeps Runtime info, API version responses, and startup logs in sync with release metadata.
- Changed `Kaizoku` runtime version reporting to load directly from the project `VERSION` file instead of a duplicated hardcoded constant, which keeps Runtime info, API version responses, and startup logs in sync with release metadata.
- Added regression coverage to ensure the loaded runtime version matches the checked-in `VERSION` file.
## 0.45.11 - 2026-05-26
@@ -275,7 +281,7 @@
## 0.41.0 - 2026-05-25
- Replaced the shared remote-access token flow with a classic single-user username/password login, backed by a persistent signed session cookie for browser sessions and HTTP Basic auth for API clients.
- Added `ANI_CLI_WEB_AUTH_USERNAME` and `ANI_CLI_WEB_AUTH_PASSWORD` support plus matching `config.json` fields, while keeping those private auth fields out of the public config API so the web UI does not leak or overwrite them.
- Added `KAIZOKU_AUTH_USERNAME` and `KAIZOKU_AUTH_PASSWORD` support plus matching `config.json` fields, while keeping those private auth fields out of the public config API so the web UI does not leak or overwrite them.
## 0.40.6 - 2026-05-25
@@ -413,23 +419,23 @@
## 0.30.3 - 2026-05-17
- Fixed container startup under `docker-compose` and custom `USER_UID`/`USER_GID` mappings by launching the web app with `python3 /app/app.py` directly instead of relying on the `./ani-cli-web` launcher file being executable inside the container.
- Fixed container startup under `docker-compose` and custom `USER_UID`/`USER_GID` mappings by launching the web app with `python3 /app/app.py` directly instead of relying on the `./Kaizoku` launcher file being executable inside the container.
## 0.30.2 - 2026-05-17
- Added container runtime support for `USER_UID` and `USER_GID`, letting `ani-cli-web` run under a chosen numeric host user/group so files created in mounted folders are not owned by `root`.
- Added container runtime support for `USER_UID` and `USER_GID`, letting `Kaizoku` run under a chosen numeric host user/group so files created in mounted folders are not owned by `root`.
- Updated the Docker and Compose documentation to show how to pass host UID/GID values into the container.
## 0.30.1 - 2026-05-17
- Added a `docker-compose.yaml` file that builds the bundled Docker image, mounts `./downloads` and `./.ani-cli-web`, and exposes the ani-cli git remotes, branch, and startup flags through Compose environment defaults.
- Added a `docker-compose.yaml` file that builds the bundled Docker image, mounts `./downloads` and `./.Kaizoku`, and exposes the ani-cli git remotes, branch, and startup flags through Compose environment defaults.
- Documented the Compose workflow alongside the existing Docker build and `docker run` setup.
## 0.30.0 - 2026-05-17
- Added a Docker image build that clones `ani-cli` and `ani-cli-web` from configurable git remotes, installs `ani-cli` system-wide, and starts `ani-cli-web` from `/app`.
- Added a Docker image build that clones `ani-cli` and `Kaizoku` from configurable git remotes, installs `ani-cli` system-wide, and starts `Kaizoku` from `/app`.
- Added container startup support for `UPDATE_ON_START=true`, which runs `sudo ani-cli --update` before launching the web app.
- Documented the Docker build arguments, runtime mounts for `./downloads` and `./.ani-cli-web`, and the default container networking and storage layout.
- Documented the Docker build arguments, runtime mounts for `./downloads` and `./.Kaizoku`, and the default container networking and storage layout.
## 0.29.5 - 2026-05-16
@@ -456,7 +462,7 @@
## 0.29.1 - 2026-05-16
- Hardened download queue startup so a failed `ani-cli` process launch now marks the job as failed instead of crashing the background queue worker thread.
- Cleaned up per-job staging directories after canceled and failed download runs, preventing partial artifacts from piling up under `.ani-cli-web/staging/`.
- Cleaned up per-job staging directories after canceled and failed download runs, preventing partial artifacts from piling up under `.Kaizoku/staging/`.
- Fixed thumbnail refresh fallback flow so stale stored AnimeSchedule routes and AniDB IDs now continue on to title-based lookups instead of aborting the whole cover refresh attempt early.
- Expanded regression coverage for queue startup failures, failed-download staging cleanup, and stale thumbnail source fallback behavior.
@@ -516,7 +522,7 @@
## 0.22.0 - 2026-05-15
- Added explicit runtime shutdown and reset hooks so shared globals and background workers can be torn down cleanly between in-process runs and tests.
- Fixed deferred worker startup to keep respecting `ANI_CLI_WEB_DISABLE_WORKER`, preventing runtime-backed handler calls from silently enabling background workers in worker-disabled environments.
- Fixed deferred worker startup to keep respecting `KAIZOKU_DISABLE_WORKER`, preventing runtime-backed handler calls from silently enabling background workers in worker-disabled environments.
- Split download-queue persistence into structured SQLite columns plus a separate log column, leaving JSON payload storage only for extra fields instead of rewriting the whole job record on routine state changes.
- Reduced server-side exception noise by only printing full tracebacks in debug mode.
- Centralized the shared browser `api()` fetch helper used by the Search, Config, and Watchlist pages.
@@ -532,7 +538,7 @@
- Replaced the HTTP handler's old mutable string-key service locator with an explicit configured handler context, making route dependencies clearer and surfacing wiring issues at startup time instead of during later requests.
- Moved watchlist add and successful-download sync off the hot request path by queueing per-show background refresh work instead of doing episode, AnimeSchedule, and thumbnail fetches synchronously before the request returns.
- Ensured runtime-backed HTTP requests start background workers when allowed, while still respecting `ANI_CLI_WEB_DISABLE_WORKER` in tests and intentionally worker-free runs.
- Ensured runtime-backed HTTP requests start background workers when allowed, while still respecting `KAIZOKU_DISABLE_WORKER` in tests and intentionally worker-free runs.
- Expanded regression coverage for the new non-blocking watchlist add/download-sync flow.
## 0.19.0 - 2026-05-15
@@ -558,7 +564,7 @@
## 0.16.0 - 2026-05-15
- Hardened non-local access so `ANI_CLI_WEB_ALLOW_REMOTE=1` now also requires `ANI_CLI_WEB_REMOTE_TOKEN`, accepted through `Authorization: Bearer ...` or `X-AniCli-Web-Token`, before remote clients can use the web UI or JSON APIs.
- Hardened non-local access so `KAIZOKU_ALLOW_REMOTE=1` now also requires `KAIZOKU_REMOTE_TOKEN`, accepted through `Authorization: Bearer ...` or `X-Kaizoku-Token`, before remote clients can use the web UI or JSON APIs.
- Removed import-time state migration side effects from `app_support.py`; legacy state migration now runs during runtime bootstrap instead of plain module import.
- Narrowed watchlist persistence updates so refreshes, category changes, and download-sync writes stop rewriting the full row and are less likely to clobber unrelated fields.
- Resolve missing queue `show_id` values when jobs are queued, making completed-download watchlist sync stable even if upstream search ordering changes later.
@@ -606,14 +612,14 @@
- Fixed running-job cancellation so the worker now consistently finishes canceled downloads as `canceled` instead of drifting into failed or completed final states.
- Fixed watchlist `Refresh All` to iterate every tracked show instead of silently stopping at the paged list limit.
- Added loopback-only request protection by default, with `ANI_CLI_WEB_ALLOW_REMOTE=1` available when remote/LAN access is intentionally desired.
- Added loopback-only request protection by default, with `KAIZOKU_ALLOW_REMOTE=1` available when remote/LAN access is intentionally desired.
- Extracted shared sidebar branding and page-link helpers to reduce repeated inline page chrome across Search, Config, and Watchlist.
- Added focused regression tests for cancellation propagation, full watchlist refresh coverage, local-access helpers, and shared template helpers.
## 0.9.0 - 2026-05-13
- Reworked Search, Config, and Watchlist with a Tsuki-inspired visual refresh using violet accents, glassy surfaces, softer gradients, and calmer card styling.
- Kept the existing ani-cli-web behavior and routing intact while unifying the refreshed design language across the whole web UI.
- Reworked Search, Config, and Watchlist with a visual refresh using violet accents, glassy surfaces, softer gradients, and calmer card styling.
- Kept the existing Kaizoku behavior and routing intact while unifying the refreshed design language across the whole web UI.
## 0.8.16 - 2026-05-13
@@ -655,12 +661,12 @@
## 0.8.8 - 2026-05-11
- Moved `config.json` into the project-local `.ani-cli-web/` folder so app settings now live alongside the queue database, watchlist data, staging files, and thumbnail cache.
- Moved `config.json` into the project-local `.Kaizoku/` folder so app settings now live alongside the queue database, watchlist data, staging files, and thumbnail cache.
- Added automatic migration from the legacy XDG config location so existing web app settings are preserved on first startup after the move.
## 0.8.7 - 2026-05-11
- Moved all project runtime state that previously lived under `~/.local/state/ani-cli-web/` into the project-local `.ani-cli-web/` folder.
- Moved all project runtime state that previously lived under `~/.local/state/kaizoku/` into the project-local `.Kaizoku/` folder.
- Added one-time migration for the legacy queue database, queue JSON, watchlist JSON, AniDB title dump, staging directory, and thumbnails so existing local data is carried into the project folder automatically.
## 0.8.6 - 2026-05-11
@@ -680,18 +686,18 @@
## 0.8.3 - 2026-05-11
- Migrated any legacy watchlist thumbnails from the old state-directory cache into the new project-local `.ani-cli-web/thumbnails/` folder on access.
- Migrated any legacy watchlist thumbnails from the old state-directory cache into the new project-local `.Kaizoku/thumbnails/` folder on access.
- Fixed thumbnail retry gating so the app no longer skips refetch attempts when a thumbnail filename exists in the database but the actual cached file is missing on disk.
- Expanded thumbnail debug logging to show whether the expected cached file actually exists before the retry-window decision is made.
## 0.8.2 - 2026-05-11
- Moved watchlist thumbnail storage into the project-local `.ani-cli-web/thumbnails/` folder so cached images can be inspected directly from the repository tree.
- Moved watchlist thumbnail storage into the project-local `.Kaizoku/thumbnails/` folder so cached images can be inspected directly from the repository tree.
- Added debug logs for the local `/api/watchlist/thumb/...` route and file-serving path so thumbnail cache hits, misses, and served files are visible in `--debug` output.
## 0.8.1 - 2026-05-11
- Added a `--debug` runtime flag for `ani-cli-web` and `./ani-cli-web` that logs thumbnail-source request flow, match decisions, responses, cache writes, and failures while fetching watchlist images.
- Added a `--debug` runtime flag for `Kaizoku` and `./Kaizoku` that logs thumbnail-source request flow, match decisions, responses, cache writes, and failures while fetching watchlist images.
- Added support for the typo-tolerant `---debug` form as well, so debugging still works if that form is used by mistake.
## 0.8.0 - 2026-05-11
@@ -779,7 +785,7 @@
## 0.2.2 - 2026-05-11
- Fixed a broken watchlist merge that caused `app.py` to fail during startup with an `IndentationError`.
- Restored the web server entrypoint so `./ani-cli-web` starts the local HTTP server again.
- Restored the web server entrypoint so `./Kaizoku` starts the local HTTP server again.
- Repaired watchlist POST routes, storage lookups, and embedded page script placement so the watchlist UI can load and update cleanly.
## 0.2.1 - 2026-05-11
@@ -803,6 +809,6 @@
## 0.1.0 - 2026-05-11
- Split `ani-cli-web` into a standalone project that uses system-wide `ani-cli`.
- Split `Kaizoku` into a standalone project that uses system-wide `ani-cli`.
- Added project hygiene files: `.gitignore`, `VERSION`, and this changelog.
- Documented runtime state handling and standalone project layout.