Changelog

0.9.1

Latest — Deployable on PostgreSQL

Corrections

  • The application can be installed on PostgreSQL. A migration written for SQLite alone stopped every fresh PostgreSQL database, in every release from 0.4.0 to 0.9.0; existing SQLite databases are unaffected.

0.9.0

— Playground, collections & actions

Highlights

The Playground opens: a section of your own, next to the shared catalog. Group animes or themes into collections, browse each one with the catalogue's own filters, and build them from wherever you happen to be. Reaching them from anywhere came with a ⋯ menu on every resource of the catalog, which is where the actions to come will land too.

Collections

  • A collection gathers animes or themes into one list. It holds a single type, chosen once at creation, and is private.
  • Browse it with the catalogue's own tools — same filters, sorts, views and pagination as the anime or theme listing, over its members alone, plus one sort of its own: insertion order.
  • Fill it from anywhere: Add to collection in a card's ⋯ menu, or the picker, where the resource's own listing turns into a selection screen and every click is saved as you go. Add every result takes the current filter in one go, however many rows it matches.
  • Rename, empty or delete it, and remove any member from the page that shows it. A resource dropped from the catalog leaves an orphan rather than shrinking the collection silently; the page counts them and clears them on request.
  • With no collection yet, three ready-made ones are offered on the current season — its openings, its endings, its animes — each stating how many it would add. If that season is still empty, they step back to the last one that is not, and name it.

Actions on every resource

  • A ⋯ menu now sits on every card, every row and every detail page of the catalog — animes, series, franchises, studios, episodes, tags, songs, themes, people and groups. It offers what applies to that resource, in that place, for your role, and nothing else.
  • Same corner and same order everywhere, destructive entries last and in red, each asking before it acts.

Configuration

  • What the import module treated as code but is really policy — which source feeds which layer, batch and retry sizes, per-provider timeouts and ceilings — is now read from the environment. A deployment can be tuned without a release.

Corrections

  • Icons and plural labels agree between the import and the Playground: an anime was drawn 🎬 in one and 📺 in the other — where 📺 marks an episode.

0.8.0

— Unified manual import

Highlights

The two hand-import paths — the "manual" form and the wizard — are now one, and the editor behind them has been rebuilt. Pick a resource type, prefill it from a source or start blank, and land in a draft where every element is editable on its own — down to a song's performers. Alongside it, every import now reports one state from item to run, and Kitsu joins the sources with real episode data.

Manual import

  • One Manual import entry point replaces the old "Manual" and "Assisted", open to moderators.
  • Pick the resource type first — anime, song, studio, person, group, franchise, tag. For an anime, prefill queries the chosen source live (AniList, offline database, AnimeThemes) with the same filters and depth layers as the automatic import; pick a result and go. Other types start from a blank form. Resources that depend on another (episode, theme, variant) are created as a layer of an anime, never on their own.
  • Tick the layers to load up front (genres, studios, staff, episodes, themes) and cap each one: the draft arrives already filled.

Draft editor

  • Every element of a draft — person, studio, episode, theme, variant, song — has its own form, opened by a on its row. Fix a studio or an episode instead of deleting and recreating it.
  • Work either way: synthesis view shows the whole draft at once and edits in a page; step-by-step view moves layer by layer and edits in a modal, without leaving the page.
  • Adding starts with one question — where does it come from? A resource already in the draft, an external source, or a blank form. The side drawer is gone.
  • Edit as deep as the data goes: a song's performers, a variant's staff and its per-episode appearances, a theme's song and its variants.
  • Import from… on each layer fills it from an external source: episodes from Kitsu, studio logos from AnimeThemes.
  • Before submitting, a page states what goes to review, what gets deleted for no longer being attached, and what will fail at import.

Import status

  • One vocabulary across the module — To review → Ready to import → Imported — replaces the technical per-item statuses. An item, a bundle and a whole run all read the same way.
  • A bundle is ready only when nothing inside it still waits for a decision, and a run rolls up its bundles the same way.
  • Import buttons follow that state: a bundle with an unsettled conflict or duplicate cannot be imported. Admins keep a force escape.
  • Imports are filtered on two independent axes — how ingestion went, and where validation stands.
  • The "to review" count is the number of decisions left to take, not the number of items.
  • Import everything that is ready applies every bundle that needs nothing more, in one click.

Kitsu as a source

  • Kitsu joins AniList, the offline database and AnimeThemes, and serves episodes with their title, air date, synopsis and thumbnail.
  • An automatic import merges them by number into the episodes the primary source only knows by count, so an anime keeps a single episode list.
  • An episode's airing season is derived from its air date.

0.7.0

— Data quality & import polish

Highlights

Imported data is now trustworthy and the import screens pleasant to work with. Themes carry their own airing season, the four Import screens have been rebuilt around clear bundle cards and in-place review, and a long list of import gaps — lost episodes, missing studio logos and artist photos, dropped ids — is closed.

Theme seasons

  • A theme now has its own airing season, so a long-runner's twenty-fifth opening is shown and sorted by when it actually aired, not by the anime's debut. A recent One Piece opening no longer looks like it dates from 1997.
  • The theme list can be filtered and sorted by the theme's own season, and a moderator can correct a variant's season when a source got it wrong.

Import, redesigned

  • The Import home is now three action cards, the list of imports, and the active sources — no more tabs.
  • The automatic-import screen reuses the catalog's filters (season, year), groups the import layers by cost, and lets you cap each one. Loading, empty and error states are handled properly.
  • The import detail page is a column of bundle cards with colored statuses and icon actions, and a whole import can be validated in one click.
  • Imports are reviewed bundle by bundle: a synthesis view, an item-by-item navigator, field checkboxes, merge decisions saved as you go, and clear flags for failed items and partial bundles.

What imports better now

  • Episodes are no longer lost when several animes are imported together — runs that used to drop most of their episodes now keep them all.
  • Studio logos and artist photos are now imported, groups are created, and an anime's ids from different sources accumulate instead of being dropped.
  • AniList synonyms and the English title are now kept as alternative names.
  • Importing from the offline database now brings in themes and handles two spellings of the same studio.

Corrections

  • A conflicting external id no longer fails a whole item and strips its other ids.
  • The media counter no longer counts the same file twice.
  • Switching the import source no longer carries a stale season or year into the next run.

0.6.0

— Automatic import

Highlights

A moderator-only Imports area now fills the catalog from external sources instead of by hand. Pick an airing season, select the animes you want, and the application fetches their metadata, studios, staff, episodes and themes — down to the images and videos. Nothing reaches the catalog without review, and any import can be undone.

Automatic import

  • Pick a source, a season and a year, and the application lists the matching animes, flagging those already in the catalog.
  • Select the animes you want — or the whole season — then how deep to go: genres, studios, staff, episodes, themes.
  • The import runs in the background, so you can leave the page. A full season (around fifty animes) takes about two minutes.
  • Each imported anime forms a bundle with its related resources, reviewed and applied in one go.

What gets imported

  • Animes: titles, format, status, airing season, dates, episode count, synopsis, cover and banner.
  • Studios (with their animation or production role), genres, staff (director, music, character design…) with their roles and photos, and episodes.
  • Themes: openings and endings, each linked to its song, its performers and its video versions.
  • An anime seen by several sources is recognized and enriched rather than duplicated: its AniList, MyAnimeList, AniDB… ids accumulate on a single entry.

Review & validation

  • Every import is reviewed resource by resource, with a Before → After comparison field by field: you choose exactly what gets applied.
  • A name close to an existing entry is never merged blindly. The item is flagged "Doublon possible" and lets you merge it or create a new entry.
  • An applied import can be undone, item by item or as a whole. The confirmation screen warns about what would be overwritten and refuses to delete an entry other data depends on.

Theme editions

  • An anime airing two versions of the same opening — an advance premiere, say — now keeps both. The second one used to be silently lost.
  • On an anime's page, plain themes are listed first, then each edition in its own sub-section. The edition also shows in the theme catalog and on a theme's page.

Media

  • Covers, banners, studio logos, staff photos and theme videos are downloaded and hosted in the background, without holding up validation.
  • A remote server under strain no longer costs you the media: downloads are retried automatically, and an admin can relaunch any that stayed in error in one click.

Corrections

  • Animes with no known airing season now always appear at the end of a date-sorted list, in both directions. Previously, sorting newest-first placed them at the top, as if they were upcoming.
  • On an anime's page, themes of the same type now appear in a stable order from one visit to the next.

0.5.0

— Names, links & shareable URLs

Highlights

This release reworks how every entry is identified, found, and linked. Each anime, series, studio, episode, artist, group, staff member and song now leads with a primary name, carries an open-ended list of aliases that search can match, and lives at a readable, permanent address. External links to reference sites (AniList, MyAnimeList…) are now available across the whole catalog — in the API and on detail pages — and the staff page is brought in line with the artist and group pages.

Names & search

  • Every entry — animes, series, studios, episodes, artists, groups, staff and songs — now shows a primary name alongside its Japanese and romaji variants, plus an open-ended list of alternative names (aliases). Search finds an entry by any of its names, including aliases.
  • Animes and series now lead with their main (often English) title where one is known; their addresses follow this main title, so some anime and series URLs have changed.
  • Every detail page now lists a resource's alternative names in the sidebar, each shown with its language flag (or a "Synonyme" badge when no language applies). Long lists collapse behind a "Voir tout" toggle.

Navigation

  • Detail page addresses are now readable and shareable: animes, series, studios, artists, groups, staff and themes use a name-based address (e.g. /catalog/animes/bocchi-the-rock) instead of an internal identifier. Episodes live under their anime (e.g. /animes/bocchi-the-rock/episodes/1).
  • Each address is unique and fixed for the lifetime of an entry, so bookmarks and shared links stay valid even if a title is later edited. Previously shared identifier-based links are no longer valid.

External links

  • Animes, series, episodes, studios, songs (and their alternate versions), artists, groups, individual persons, themes and theme variants can now carry external links to reference sites (AniList, MyAnimeList, Kitsu, AniDB…), exposed throughout the API.
  • These external links are now shown in the sidebar of the theme detail page, alongside the existing links on the other detail pages.

People

  • The staff member page now matches the artist and group pages: a hero, a sidebar (information, professions, groups, external links), and Themes / Animes tabs.
  • A staff member's theme and anime credits are now filterable (search, type, role, period), sortable, and paginated, with both grid and list display modes. Each credit shows the person's role.

0.4.0

— Unified browsing & People

Highlights

This release brings every list and detail page under a single, consistent results-and-filters system, and introduces a full People section (artists, groups, persons) with redesigned pages. Browsing now feels the same across the catalog, music, and themes: shared filter controls, a results header with live counts, and uniform image fallbacks throughout.

Browsing & filters

  • Every list — series, animes, studios, themes, artists, groups — now shares the same results component: consistent layout, grid/list toggle, sorting, pagination, and a header showing how many results match.
  • Reusable filter controls across the whole app: multi-select pills, single-select pills, a unified season + year period selector, and grouped filter blocks.
  • Themes gain an advanced filters panel, and filter bars can be collapsed with a toggle to keep pages uncluttered.

People

  • New unified People section covering artists, groups, and individual persons, available both in the browsing interface and the API.
  • Redesigned artist and group detail pages: hero, sidebar, filtered theme history, and an enriched members tab.
  • The people list now shows everyone by default (artists and groups together).

Catalog

  • Studio detail page reworked: founding year and country shown on a single line, with the country flag.
  • Studio browsing gains an All / Animation / Other mode selector.
  • When sorting animes by date, not-yet-released titles are now pinned at the upcoming end of the list.

Visual consistency

  • Anywhere an image is missing or fails to load, a colored letter placeholder is shown instead — applied consistently to detail heroes and to the avatars and chips in sidebars.

Themes

  • Theme list redesigned with both list and grid display modes.

Corrections

  • The reset control on the theme list no longer triggers an infinite loop.
  • The sort dropdown now reflects the active sort when a page first loads.
  • The grid/list view mode no longer desyncs on detail pages.
  • The year filter is now validated, and episodes display correctly on covers.
  • Fixed missing filter options on the artist and group detail pages.

0.3.0

— Anime and theme related detail pages

Highlights

All anime and theme related detail pages have been redesigned around a consistent layout: a hero section with key information, a sidebar (tags, description, external links), and a main content area with filters and pagination. Navigation also gains breadcrumbs and a cleaner appearance on detail pages.

Anime page

  • Full redesign with tabbed layout (Themes, Staff)
  • Genres, age rating, and associated studios (with their role) now displayed
  • Staff section grouping credits by category

Serie page

  • New detail page with hero (cover image, anime and theme counters, source badge)
  • Anime list with filters (format, status, year) and sort by name or release date
  • Sidebar: tags, description (truncated with a "Read more" button), external links

Studio page

  • New detail page with hero (logo, type, founding year, country)
  • Produced anime list with filters (format, status, year, role) and sort by name or release date
  • Sidebar: information, description, external links

Theme page

  • Redesigned with a sidebar (artist, series, studio, staff by category) and video clip playback directly on the page

Navigation

  • Breadcrumbs on all detail pages (e.g. Series › Fullmetal Alchemist)
  • Navigation tabs (Series / Anime / Studios) are hidden on detail pages to reduce visual noise
  • Full season name displayed (e.g. "Spring 2024" instead of the abbreviated label)
  • Anime and studio lists default to descending release date sort

0.2.0

— Profile & Settings

Highlights

This release introduces user profiles and a full settings panel, image storage for avatars and banners via MinIO with automatic resizing through imgproxy, API tokens for staff members, video clips on theme variants, and a redesigned administration back-office.

User Profiles

  • Public profile page displaying avatar, banner, display name, role badge, bio, and links to external accounts (Twitter, MyAnimeList, AniList)
  • Default gradient displayed when no banner or avatar is set; colored initial used as fallback

Settings

  • Multi-tab settings panel: Profile, Preferences, Password, Connections
  • Avatar and banner upload with instant preview and inline error messages; client-side validation (format and size) before any request is sent
  • Visual theme picker across 14 DaisyUI themes; active badge synced in real time with the navbar toggle
  • Password change form that keeps the session alive

Images & Storage

  • Avatars and banners stored in an S3-compatible object store (MinIO), served through imgproxy (256×256 for avatars, 1200×300 for banners, converted to WebP)
  • Catalog images (anime covers, artist photos) can be imported from a remote URL with MIME and size validation

Video Clips

  • Theme variants can now have an associated video clip, playable directly on the theme detail page

Administration

  • Back-office fully redesigned with the Unfold theme; all catalog, music, theme, and user entities are manageable
  • Swagger UI accessible to staff members via the admin dropdown
  • Add API tokens (Knox) directly from the settings panel, usable for authenticated API calls from external tools

0.1.0

— Base Catalog

Highlights

First release of Anisong. It lays the foundation for the data catalog, REST API, and browsing interface. All core entities are accessible — animes, music, and themes — with their relationships and associated credits.

Catalog

  • Franchises, series, and animes with broadcast information (season, year, format, status)
  • Episodes with numbering and types (regular, OVA, movie…)
  • Animation studios
  • Tags and air seasons

Music

  • Artists, groups, and persons with their details
  • Songs with artist credits and alternate versions

Themes

  • Openings, endings, and insert songs linked to animes and episodes
  • Theme variants with staff credits (direction, animation…)
  • Staff detail pages with complete credit history

API & Interface

  • Full REST API with interactive Swagger documentation and per-resource tags
  • Browsing interface with search and filters (type, format, status…)
  • Light / dark theme, persisted and synced with the user account
  • Authentication and user profile
  • Static pages: About, Changelog, Terms of Service, Privacy Policy