Releases: RLAlpha49/AniLink
Releases · RLAlpha49/AniLink
Release list
v2.0.0
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...