Skip to content

Releases: RLAlpha49/AniLink

Release list

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 27 Aug 01:28

2.0.0 (2026-08-27)

⚠ BREAKING CHANGES

  • package: the package no longer ships CommonJS output and now
    requires Node.js >= 22. Consumers on CJS must use dynamic import() or
    migrate to ESM.
  • api: aniLink.anilist.query.like() has been removed; use aniLink.anilist.query.page.likes({ likeableId, type }) instead.
  • api: Page.followers and Page.followings now require userId at the type level; calls omitting it already failed against the AniList API.
  • api: operations now live under aniLink.anilist.* instead of
    directly on the AniLink instance (aniLink.media(...) becomes
    aniLink.anilist.media(...)).
  • Extract the operation surface from AniLink.ts into
    src/apis/anilist/facade.ts (buildAniListApi / AniListApi)
  • Move shared transport plumbing (endpoint, auth token, request helper)
    into APIWrapper so operation classes only declare variables, document,
    and a thin method
  • Relocate GraphQL selection-set constants from interfaces/ to a
    dedicated schemas/ tree
  • Update generate-explorer-manifest to parse facade.ts and scan schemas/

✨ Features

  • anilist: add like query and review ratings (2416574)
  • api: accept per-provider credentials in the AniLink constructor (7170754)
  • api: accept per-request transport options on every operation (44aa4d0)
  • api: add anilist subpath export for provider-scoped imports (e7fefb7)
  • api: add concurrent page fetching to pagination helpers (2d4806e)
  • api: add pagination and media-list helper capabilities (24cdc95)
  • api: export pagination helpers and client options from AniLink (21d6764)
  • api: retry by default, add rate-limit pacing and circuit breaker (39d61a8)
  • api: scope transport options per client and classify GraphQL failures (bc95b9b)
  • api: type delete, like, and AniChart mutation returns (caa56a5)
  • api: validate custom GraphQL documents and type custom() generically (c000ba1)
  • auth: add AniList OAuth2 authorization-code helpers (7bafc4b)
  • auth: route token requests through the shared request pipeline (f25dfbb)
  • auth: sanitize token errors and add state and expiry helpers (d18711f)
  • base: add auth-required request handling (4fdc8ac)
  • base: add typed transport errors and request options (a5256af)
  • explorer: add AniLink API Explorer for building and testing calls live (af9a72f)
  • explorer: format and highlight GraphQL queries (938e239)
  • requests: add retry policy and normalized transport errors (1a9d8f5)
  • scripts: add provider selection to schema comparison CLI (63f20c8)

🐛 Bug Fixes

  • anilist: align response contracts with API schema (32f74f8)
  • anilist: correct API operation contracts (7ffd5fe)
  • api-compare: parse inline mappings in explorer manifest generator (9fe0983)
  • api: align response types with the AniList schema (0858d63)
  • api: always validate variables in collection and statistics queries (653ca41)
  • api: clamp perPage and perChunk to AniList caps (023fa22)
  • api: enforce real AniList variable contracts with requireVariables (de31bfc)
  • api: make character query variables optional (ac6c26e)
  • api: point operation @see links at specific AniList reference pages (868c159)
  • api: reject unknown variable keys by default (00bb7ff)
  • api: render objects and arrays in variable validation errors (5f6a2f6)
  • api: require userId for followers and followings (17bbd0d)
  • api: throw typed validation error from updateFavouriteOrder (c2cb640)
  • explorer: enforce [hidden] attribute over display:flex builder divs (b33707a)
  • explorer: protect tokens, guard races, and restore keyboard access (5a4780a)
  • explorer: rewrite JSON highlighting in a tested pure-logic core (11d788b)
  • package: publish typed named-export package (f9c7363)
  • transport: scope circuit-breaker state per upstream host (da60ecc)
  • unwrap single-field AniList responses (d98bf11)
  • validation: enforce nested variable validation (83b59a3)

⚡ Performance

  • build: ship a single TypeScript declaration file (bcbb6ee)
  • explorer: ship minified operations.json manifest (92b5d88)

♻️ Refactoring

  • anilist: flatten media list collection response (136eb1e)
  • api: annotate enum mapping constants as readonly (acbf579)
  • api: decompose AniList facade into type and wiring modules (2d32a3f)
  • api: derive operation wiring from a declarative registry (d12d61c)
  • api: extract provider-neutral pagination core (c05faab)
  • api: generate response interfaces from schema fragments (db65ce1)
  • api: move AniList operations behind anilist facade (60b3c2d)
  • api: relocate APIWrapper beside its AniList consumers (14f1d7e)
  • api: remove redundant Like query (bd180db)
  • api: remove unused schema imports from response interfaces (d934cc9)
  • api: restructure providers under graphql/ and rest/ with shared operation bases (89b44b8)
  • api: reuse HttpMethod type in RestExecuteOptions (245ffe6)
  • api: route operations through declarative execute pipeline ([6b7e946](6b7e9463c06e1636a22835849...
Read more