Skip to content

t2vi/arrgh](https:

v0.1.13 Breaking

This release includes 3 breaking changes for platform teams planning a safe upgrade.

Published 3d Media Servers
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

ReleasePort's take

Light signal
editorial:auto 3d

Version v0.1.13 adds four trending content lanes and several UI fixes, but removes the MangaFire source plugin and the single /api/discover/trending endpoint.

Why it matters: Removal of `MangaFire` (severity 70) eliminates that integration; clients must migrate to lane‑specific `/api/discover/trending/*` endpoints before they can fetch trending data, otherwise requests will fail.

Summary

AI summary

Updates What's new, Highlights, and MangaUpdates across a mixed release.

Changes in this release

Breaking High

Removes `MangaFire` source entirely, including plugin and related code.

Removes `MangaFire` source entirely, including plugin and related code.

Source: llm_adapter@2026-05-31

Confidence: high

Breaking High

Removes the single `/api/discover/trending` endpoint; clients must use lane‑specific endpoints.

Removes the single `/api/discover/trending` endpoint; clients must use lane‑specific endpoints.

Source: llm_adapter@2026-05-31

Confidence: high

Feature Medium

Adds four independent trending lanes: Manga, Manhwa, Manhua, Adult Manhwa.

Adds four independent trending lanes: Manga, Manhwa, Manhua, Adult Manhwa.

Source: llm_adapter@2026-05-31

Confidence: high

Feature Medium

Shows 18+ pill on MangaCard in library view for explicit titles.

Shows 18+ pill on MangaCard in library view for explicit titles.

Source: llm_adapter@2026-05-31

Confidence: high

Feature Medium

Stores all AniList title synonyms as `TitleAliases` on add for better fuzzy matching.

Stores all AniList title synonyms as `TitleAliases` on add for better fuzzy matching.

Source: llm_adapter@2026-05-31

Confidence: high

Dependency Low

Sets `Cache-Control: no-cache, no-store, must-revalidate` on `/index.html` to avoid stale JS/CSS after deploys.

Sets `Cache-Control: no-cache, no-store, must-revalidate` on `/index.html` to avoid stale JS/CSS after deploys.

Source: llm_adapter@2026-05-31

Confidence: high

Bugfix Medium

Correctly saves `is_explicit` flag when adding titles from Discover/Trending.

Correctly saves `is_explicit` flag when adding titles from Discover/Trending.

Source: llm_adapter@2026-05-31

Confidence: high

Bugfix Medium

NoChaptersMessage component handles all “no chapters” states with appropriate messages and actions.

NoChaptersMessage component handles all “no chapters” states with appropriate messages and actions.

Source: llm_adapter@2026-05-31

Confidence: high

Bugfix Medium

Lazy‑load `data-src` placeholder GIFs now return correct CDN URLs for manga18fx pages.

Lazy‑load `data-src` placeholder GIFs now return correct CDN URLs for manga18fx pages.

Source: llm_adapter@2026-05-31

Confidence: high

Bugfix Medium

Sync warning badge now fires only when zero sources are linked after a full sync.

Sync warning badge now fires only when zero sources are linked after a full sync.

Source: llm_adapter@2026-05-31

Confidence: high

Full changelog

*ARRgh v0.1.3 — Trending Lane Fan-Out, 18+ Badges, Explicit Fixes

Released: 2026-05-31


Highlights

  • Trending lane fan-out — Home shows 4 independent horizontal rows: Manga (MangaUpdates), Manhwa (AniList KR), Manhua (AniList CN), Adult Manhwa (AniList KR adult). Each lane caches independently, serves stale on failure, returns [] (not 502) when down.
  • 18+ badge fixis_explicit now correctly saved when adding titles from Discover/Trending. AddMangaBody now accepts is_explicit field; client sends it.
  • 18+ badge in library — MangaCard shows 18+ pill for explicit titles in library view
  • NoChaptersMessage — extracted component handles all "no chapters" states in title detail (syncing, sync warning, local-only, no source linked)
  • manga18fx lazy-load — pages using data-src placeholder GIF pattern now return correct CDN URLs
  • MangaFire removed — CF-protected source removed entirely
  • Sync warning accuracy — warning badge only fires when zero sources linked after full sync
  • AniList synonym storage — AniList titles store all synonyms as TitleAliases on add
  • nginx no-cache for index.html — prevents stale JS bundle references after deploys

What's new

Trending lane fan-out (ADR 0032)

Replaces the single "Trending Now" row with 4 independent horizontal lanes:

| Lane | Heading | Source | Auth |
|------|---------|--------|------|
| /api/discover/trending/manga | Trending Manga | MangaUpdates latest releases | any |
| /api/discover/trending/manhwa | Trending Manhwa | AniList countryOfOrigin:KR | any |
| /api/discover/trending/manhua | Trending Manhua | AniList countryOfOrigin:CN | any |
| /api/discover/trending/adult-manhwa | Trending Adult Manhwa | AniList countryOfOrigin:KR isAdult:true | allow_explicit only — 403 otherwise |

Each lane:

  • Independently cached with 1-hour TTL (TrendingCacheService keyed by lane name)
  • Serves stale cache on source failure (graceful degradation)
  • Returns [] on failure with no stale (never 502)
  • Capped at 6 cards
  • Renders on empty library (discovery use case)

GET /api/discover/trending (old single endpoint) removed.

is_explicit fix for Discover/Trending adds

AddMangaBody now accepts is_explicit: bool?. Client sends is_explicit: result.is_explicit in addTitle. Server sets IsExplicit from the field OR hentai content_type/tag detection — whichever is true.

Previously, explicit manhwa titles added via Discover/Trending were saved with is_explicit=false regardless of source metadata.

18+ badge in library

MangaCard in the library grid now shows an 18+ pill for titles with is_explicit=true. Consistent with the 18+ pill already shown in Discover search results.

NoChaptersMessage component

Extracted from manga-detail/index.tsx. Handles all "no chapters yet" states:

  • Syncing / pending → spinner + "Fetching chapters…"
  • Has sync warnings → amber message + Re-sync button
  • Local-only (no sources) → informational
  • Remote source, no chapters yet → Re-sync button

nginx cache-control for index.html

location = /index.html {
    add_header Cache-Control "no-cache, no-store, must-revalidate";
    try_files $uri =404;
}

Prevents browsers from serving a cached index.html that references stale JS/CSS bundles after a Docker image update.

manga18fx lazy-load

Chapters using data-src placeholder GIF pattern now return correct CDN URLs. data-src takes precedence over src.

MangaFire removed

CF-protected source removed entirely — plugin, seeded row, plugin-index entry, all tests.

Sync warning accuracy

Warnings only fire when zero TitleSources rows exist after full sync. Previously fired per-source miss, creating spurious amber badges on successfully-linked titles.

AniList synonym storage

Adding an AniList title stores all synonyms (title.romaji, title.english, and synonyms[]) as TitleAliases for improved fuzzy matching across plugins.


New API endpoints

| Method | Path | Notes |
|--------|------|-------|
| GET | /api/discover/trending/manga | MU latest releases → DiscoverResult[], max 6, 1h cache |
| GET | /api/discover/trending/manhwa | AniList KR trending, max 6, 1h cache |
| GET | /api/discover/trending/manhua | AniList CN trending, max 6, 1h cache |
| GET | /api/discover/trending/adult-manhwa | AniList KR adult — 403 without allow_explicit |

Removed:

| Method | Path |
|--------|------|
| GET | /api/discover/trending |


Upgrading

docker compose pull
docker compose up -d

No DB migrations required. If you query /api/discover/trending directly, update to /api/discover/trending/manga.

Breaking Changes

  • Removed API endpoint `/api/discover/trending` (single row) – must use new lane endpoints (`/manga`, `/manhwa`, `/manhua`, `/adult-manhwa`).
  • MangaFire source removed entirely.
  • Minimum Node.js version bumped to 20.12 for CDN URL handling.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track t2vi/arrgh](https:

Get notified when new releases ship.

Sign up free

About t2vi/arrgh](https:

All releases →

Related context

Earlier breaking changes

  • v0.1.2 Rust/Axum server removed; replaced with .NET 9 ASP.NET Core Minimal API implementation.
  • v.0.0.9 Drops manga.source and chapters.source_id columns from schema.

Beta — feedback welcome: [email protected]