Skip to content

Latest commit

 

History

History
194 lines (122 loc) · 6.96 KB

File metadata and controls

194 lines (122 loc) · 6.96 KB

Changelog

1.7.0 - 2026-03-27

  • chore: upgrade ESLint 9.x → 10.1.0, @eslint/js 9.x → 10.0.1, typescript-eslint 8.57.1 → 8.57.2
  • chore: bump minimum Node.js version from 18 to 20 (required by ESLint 10)
  • chore: remove empty dependencies field and stale rimraf dependency
  • chore: close stale dependabot PR #91

1.6.1 - 2026-03-19

  • docs: add JSDoc symbol documentation (@param, @returns, @see) to all exported functions, interfaces, and the method constant across every namespace — documentation now surfaces in editor hover tooltips and on the JSR package page
  • docs: update README with "Why use this" section covering zero dependencies, full TypeScript types, and dual ESM/CJS support

1.6.0

  • feat: browser compatibility — replace node:crypto MD5 with pure TypeScript implementation using TextEncoder and DataView; client now works in Node.js >=18 and all modern browsers without polyfills
  • chore: upgrade ESLint 8 → 9 with flat config (eslint.config.js), migrate from @typescript-eslint/eslint-plugin + @typescript-eslint/parser v6 to unified typescript-eslint@8.57.1
  • chore: remove unused/deprecated dev dependencies (eslint-config-standard-with-typescript, eslint-plugin-import, eslint-plugin-n, eslint-plugin-promise)
  • fix: convert empty Wiki interface to type Wiki = Record<string, unknown>

1.5.6

  • feat(album): implement album.getInfo, album.getTags, album.getTopTags, album.search, album.addTags, album.removeTag
  • feat(artist): implement artist.getCorrection, artist.getInfo, artist.getSimilar, artist.getTags, artist.getTopAlbums, artist.getTopTags, artist.getTopTracks, artist.search, artist.addTags, artist.removeTag
  • feat(auth): implement auth.getMobileSession, auth.getSession
  • feat(geo): implement geo.getTopArtists, geo.getTopTracks
  • feat(library): implement library.getArtists
  • feat(tag): implement tag.getInfo, tag.getSimilar, tag.getTopAlbums, tag.getTopArtists, tag.getTopTags, tag.getWeeklyChartList
  • feat(track): implement track.getCorrection, track.getInfo, track.getSimilar, track.getTags, track.getTopTags, track.search, track.love, track.unlove, track.addTags, track.removeTag, track.scrobble, track.updateNowPlaying
  • feat(user): implement user.getFriends, user.getPersonalTags, user.getTopTags
  • feat(request): add signedRequest for authenticated POST methods (MD5 API signature)
  • feat(createOptions): extend with all new optional parameters (artist, album, track, country, autocorrect, mbid, lang, sk, token, tags, timestamp, username, password)
  • feat(types): add response types for all new methods

1.5.5

  • feat(getRecentTracks): add optional from parameter (Unix timestamp) to support date-range filtering
  • feat(createOptions): expose from as an optional parameter passed through to request
  • feat(request): append from query param to URL when provided
  • refactor(getRecentTracks): replace unused period param with from to align with the Last.fm user.getRecentTracks API spec

1.5.4

  • fix(request): replace silent error swallowing with proper error propagation
  • fix(request): remove unreachable switch cases that compared HTTP status codes against LastFM API error codes (different number ranges)
  • fix(request): parse JSON body and throw on LastFM API error codes (2–29)
  • refactor(request): rewrite .then/.catch chain as clean async/await
  • test(request): add error handling tests covering HTTP errors, LastFM API errors, and network failures
  • test(api): add integration tests for all previously untested methods — getTopAlbums, getLovedTracks, getInfo, getWeeklyChartList, getWeeklyArtistChart, getWeeklyAlbumChart, getWeeklyTrackChart, chart.chartTopArtists, chart.chartTopTracks, chart.chartTopTags

1.5.3

  • security updates
  • feat: add getRecentTracks test

1.5.2

  • chore: Update all npm dependencies to their latest stable versions and lock dotenv version.
  • chore: Add .npmrc to enforce exact version saving for future installations.
  • test: Add new API integration tests with Playwright (tests/api.spec.ts) to ensure getTopArtists, getTopTracks, and getRecentTracks functions correctly map data against the live API.
  • docs: Add Antigravity/Claude AI initialization file (CLAUDE.md) explaining the project architecture, dependencies, and setup.
  • docs: Add global AI skills reference (find-skills) for the project.

1.5.1

  • fix node module resolution issues where on build node could not find the module.
  • now both esm and commonjs are built to dist folder and working.

1.5.0

  • move types to root
  • fix esm and commonjs distributions
  • update docs

1.4.6

  • error handling check if json in request.

1.4.5

  • fixes missing lastFm types

1.4.4

  • distribute ESM and CommonJs
  • new build scripts and commands

1.4.3

  • fix missmatched types for Album and Track, added some optionals pity, but it works, that just how they give us the data.

1.4.2

  • bug, release dist

1.4.1

  • export esm modules modern js only.
  • add all dts and dts map files to dist
  • adds lastfm types to dist

1.4.0

  • update all api functions from snake case to camel case.

1.3.0

  • Updates npm dependencies.
  • refactors request with new error handling and responses.
  • updates getInfo, removes hte un-required params.

1.2.4

  • Updates npm dependencies.
  • Refactors request methods options and updates all callsites.
  • Add nvmrc file for easy switching node version.

1.2.3

  • Adds tests, using Playwright.
  • Adds dotenv npm module as a new dependency.

1.2.2

  • Put log back, some APIs do get Bad Request for MBIDs that don't exist, don't have solve for this yet, so not throwing any more as it grinds future request to a halt. This is a working version.

1.2.1

  • Tidy up, removes console logs.

1.2.0

  • Swops node-fetch for cross-fetch for server and browser fetching support in one.

1.1.5

  • Fix incorrect type on request method.

1.1.4

  • Fix incorrect type on request method.

1.1.3

  • Fix incorrect type import.

1.1.2

  • Fix broken type, Track image type is an array of Images.

1.1.1

  • update function declaration.
  • re-add type declartion files for source code.

1.1.0

  • Downgrade node-fetch to v2.6.7.
  • Do not ship separate declaration files.
  • TS now exports to CommonJs modules for better support older consumers.

1.0.6

  • Forking repo README update.

1.0.5

  • Fix local types.
  • Update readme with current way of using the types.
  • adds screenshot of it in use.

1.0.4

  • Export types.

1.0.3

  • Adds types file to distribution.
  • Updates readme with types imports.

1.0.2

  • Refactors types.d.ts to types.ts so can ship them with package and consumers can import them in their projects.

1.0.1

  • Refactors config and methods to own modules.
  • tsconfig, generate types to allow shipping types in one package, no need to DefinitleyTyped right now.
  • update docs with new way of interacting with API.

1.0.0

  • Initial project setup.