# History ## vNext - Rewrote the client on the standard `fetch` API and `URL`, dropping the legacy `https`/`url.parse` internals. The package still ships with **zero runtime dependencies** and now runs anywhere `fetch` is available (Node 18+, Bun, Deno, browsers, edge runtimes). - **Breaking:** raised the minimum runtime to Node 18 (for the global `fetch`); an invalid `apiUrl` now throws on construction (strict `URL` parsing); the public `url` property is now a standard `URL` instance. - Replaced the toolchain: Bun for bundling and the test runner, Biome for lint + format — dropping Jest, ts-jest, ts-mjs and TSLint. Dev dependencies reduced to three (`@biomejs/biome`, `typescript`, `@types/bun`). - Ship a proper dual package: an `exports` map with per-condition `types`, a CommonJS build in `dist/` and an ES module build in `esm/`, validated against `require`, `import` and TypeScript resolution (node10/node16/nodenext/bundler). - Added GitHub Actions CI (lint, typecheck, tests, packaged-artifact verification on Node 18/20/22/24 across Linux, macOS and Windows, coverage) and an automated release workflow (npm publish with provenance via OIDC trusted publishing, GitHub release creation, and automatic version/HISTORY maintenance). - Moved from Travis CI to GitHub Actions and stopped committing build output (the published tarball is built in CI). ## v1.0.0 First release includes following functions: * `.constructor(options: Options)` * `#query(query: string, variables: Dict): Promise`