Skip to content

Release v3.5.0

Choose a tag to compare

@ansango ansango released this 28 Aug 23:33
· 13 commits to main since this release

What's Changed in v3.5.0

πŸš€ Core Async Pagination & Streaming Iterators

  • core: Automatic asynchronous pagination helpers (iterateItems, collectAll, iteratePages) supporting for await loops, rate-limiting (delayMs), and boundaries (maxPages, maxItems) (closes #154).
  • arch: Decoupled canonical Core API (56 official methods) from the Analytics & Ecosystem engines with modular subpath exports @ansango/lastfm-api/core and @ansango/lastfm-api/insights (closes #151).

🧠 Advanced Insights & Analytics Engine Expansion (20 total methods)

  • insights: Added 11 new analytical methods across music taste profiling, temporal patterns, and recommendations (closes #136):
    • getObscurityScore: Mainstream vs Underground listening score (closes #137).
    • getObsessions & getForgottenFavorites: Track heavy rotation spikes and lost gems (closes #138).
    • getListeningStreaks & getListeningHeatmap: Daily streaks and 24x7 activity matrix (closes #139).
    • getAlbumHabits: Full-album vs single-track listening ratio (closes #140).
    • getGenreBreakdown & getGenreEvolution: Taxonomy and taste shifts over time (closes #141).
    • getSmartRecommendations & getBridgeArtists: Graph-based discovery and connector artists (closes #142).
    • compareTasteGroup: Multi-user affinity matrix and common ground tracks (closes #143).

πŸ“Š Reports & Wrapped Namespace (client.reports.*)

  • reports: getWrapped (yearly review / custom period with seasonal breakdown & record day detection) (closes #155).
  • reports: getMilestones (scrobble milestone tracking & estimated arrival dates) (closes #155).
  • reports: getMonthlyDigest (monthly listening digest with growth metrics) (closes #155).

🎡 Smart Playlists Namespace (client.playlists.*)

  • playlists: generate with 4 algorithmic modes: heavy-rotation, time-capsule, deep-cuts, and discovery-radar (closes #156).
  • playlists: exportM3U and exportCsv for standard media players and Spotify search queries (closes #156).

πŸ’Ύ Data Exporter & Backup Namespace (client.exporter.*)

  • exporter: exportScrobbles with UTS timestamp checkpointing for resumable backward scans, and export formats json, jsonl, csv, and listenbrainz (closes #157).
  • exporter: exportLovedTracks and exportLibrary for complete offline catalog backups (closes #157).

πŸ” Interactive OpenAPI Reference & Scalar Docs

  • tool/api-scalar: Collapsible 5-tier tag groups (x-tagGroups) organizing all 83 interactive endpoints.

Full Changelog: v3.4.0...v3.5.0