Spicetify Changelog

What's new in Spicetify 2.36.11

May 7, 2024
  • Enhancements:
  • css-map: Add search bar (#3006)
  • css-map: Map settings classes (#3003)
  • css-map: 1.2.36 tracklist row hearts (#3005)
  • Fixes:
  • wrapper/platform: Assign product state to old prop (#3011)

New in Spicetify 2.36.10 (May 2, 2024)

  • Enhancements:
  • css-map: Map home classes (#3002)
  • Fixes:
  • wrapper: Revert CardImage component (#2996)
  • install/windows: Use System.IO to get TEMP path (#2995)
  • shuffle+: Lower limit & bring back queryArtistOverview (#3001)

New in Spicetify 2.36.9 (Apr 30, 2024)

  • Enhancements:
  • wrapper/cards: Re-add "Default" as FeatureCard (#2990)
  • Fixes:
  • translator: Force setting currentLyrics on cache hit (#2983)
  • Chore:
  • wrapper: Remove additional graphql getters (#2986)

New in Spicetify 2.36.8 (Apr 24, 2024)

  • Fixes:
  • getStyledClassName: Add paddingBottom back to customExactKeys (#2981)

New in Spicetify 2.36.6 (Apr 22, 2024)

  • Fixes:
  • Wrapper: Expose IconComponent via webpack
  • GetStyledClassName: Add another necessary keys
  • GetStyledClassName: Make class names shorter
  • Add check for length > 0 to not cause panic
  • Cmd/config: When value is empty, clear the field
  • Preprocess: Add missing css for cards
  • Chore:
  • Css-map: Map missing classes from 1.2.36

New in Spicetify 2.36.5 (Apr 15, 2024)

  • Fixes:
  • getStyledClassName: Add $semanticColor to included keys
  • lyrics-plus: Add second selector for viewport
  • config: Check for duplicates when adding multiple values

New in Spicetify 2.36.4 (Apr 9, 2024)

  • Enhancements:
  • cmd/update: add support for arm64 (#2952)
  • windows/install: add help text for ? choices (#2957)
  • Fixes:
  • manifest: remove borked extensions on marketplace (#2953)
  • fix: adapt regexes for 1.2.35 (#2958)

New in Spicetify 2.36.3 (Apr 7, 2024)

  • Fixes:
  • ci/build: Add arm64 to 7z checks (#2934)
  • install/linux: Properly parse --root flag and tag option (#2932)
  • Do not replace color variables in mini player css (#2948)
  • new-releases: Update viewportSelector for 1.2.34 and higher (#2940)
  • wrapper/cards: Change hook for Default card component (#2942)

New in Spicetify 2.36.2 (Apr 1, 2024)

  • Enhancements:
  • navlink: Match spotify style & use SeekToCloseParen
  • windows/install: Add support for arm64
  • CI:
  • release: Add support for windows arm64

New in Spicetify 2.36.1 (Mar 28, 2024)

  • Enhancements:
  • shuffle+: Add an option to shuffle queue (#2923)
  • Add support for pre-Library X UI again (#2922)
  • Fixes:
  • wrapper: Adapt checkForUpdate to new changelog (#2926)

New in Spicetify 2.36.0 (Mar 25, 2024)

  • Enhancements:
  • config: Add another folder to potentialList (#2916)
  • Fixes:
  • Make various changes to global navbar (#2913)
  • globalNav: Make navlinks scrollable (#2913)
  • preprocess: Match body tag with class names (#2913)
  • wrapper: Add objectBy polyfill for 1.2.13 -> 1.2.23 to stop it from crashing (#2913)
  • wrapper: Add old classname regex back for 1.2.13 (#2913)
  • Documentation:
  • Create contributing.md (#2915)

New in Spicetify 2.35.1 (Mar 21, 2024)

  • Fixes:
  • NavLinkSidebar: Use TextComponent, not TextWrapper (#2912)

New in Spicetify 2.34.1 (Mar 13, 2024)

  • Fixes:
  • StyledClassName: Add another key and exclude one (#2902)

New in Spicetify 2.34.0 (Mar 12, 2024)

  • Enhancements:
  • Parse more types of responses
  • Fixes:
  • wrapper: Assign Player.data in cache after becoming available
  • lyrics-plus: Prevent re-rendering TabBar frequently
  • extensions: Migrate to react menuItems
  • topbar: Match spotify styling
  • wrapper/topbar: Apply main-topBar-button on button not element
  • reddit: Use fetch instead of CosmosAsync
  • Implement missing class for cards for 1.2.33 and higher
  • Disable sentry completely
  • Properly set every value in state
  • Repair helpers to work on newer versions
  • homeConfig: Support all versions
  • Refactors:
  • keyboardshortcut: Repair functionality, re-implement removed binds & add new binds
  • Chore:
  • Remove information of supported spotify ver
  • CI:
  • Remove 'update the homebrew tap' step

New in Spicetify 2.33.2 (Mar 2, 2024)

  • Enhancements:
  • Change the name of main-noConnection
  • Fixes:
  • Use correct url to spotify & fix netease
  • Preprocess: Add new regex for GraphQL defs for >=1.2.31
  • Contributors:
  • Ririxi
  • Jeong Hyeon

New in Spicetify 2.33.1 (Feb 29, 2024)

  • Fixes:
  • logging: Return necessary values (#2870)

New in Spicetify 2.33.0 (Feb 28, 2024)

  • Fixes:
  • lyrics-plus: Disable genius for 1.2.31 and higher (#2859)
  • preprocess: Adapt regex to find react on 1.2.32 (#2863)

New in Spicetify 2.32.1 (Feb 21, 2024)

  • Fix: use different check for target in shouldAdd

New in Spicetify 2.31.3 (Feb 15, 2024)

  • Fix(wrapper): assign context menu context at startup by @Delusoire in #2817
  • Feat(Item): add setState back to Item by @rxri in #2823
  • Fix: remove stash items from dom before adding them again by @rxri in #2820
  • Fix(contextmenu/item): return to original isEnabled behavior by @rxri in #2829
  • Fix(wrapper/topbar): use History.listen event instead of the observer by @rxri in #2826

New in Spicetify 2.31.2 (Feb 11, 2024)

  • What's Changed:
  • chore(deps): bump golang.org/x/net from 0.20.0 to 0.21.0 by @dependabot in #2809
  • fix(wrapper): fix ContextMenu regex for v1.2.13 by @Delusoire in #2810
  • fix(wrapper): accommodate different profile menu containers by @Delusoire in #2812
  • Compatibility:
  • Spotify 1.2.18 and above doesn't have working custom panels. PanelAPI has changed and there is no ETA for patch. We plan to remove Panel API with v3 release.
  • Spotify for macOS: 1.2.0 -> 1.2.30
  • Spotify for Linux: 1.2.8 -> up to 1.2.30 (if it ever releases)
  • Spotify for Windows/Microsoft Store: 1.2.0 -> 1.2.30
  • Spicetify may not work properly with Microsoft Store version
  • You may need to apply spicetify every time you close Spotify in Microsoft Store version

New in Spicetify 2.31.1 (Feb 8, 2024)

  • What's Changed:
  • feat: re-implement ContextMenu & Menu by @Delusoire in #2776
  • feat(css-map): add main-topBar-buddyFeed from 1.2.30 by @rxri in #2803
  • fix(popupLyrics): increase setTimeout time by @rxri in #2808

New in Spicetify 2.31.0 (Feb 3, 2024)

  • fix: break one iteration instead of whole "for" loop by @SunsetTechuila in #2764
  • fix(popupLyrics): fix letter spacing issue in some lyrics by @Lseoksee in #2765
  • feat(wrapper): expose Dropdown ReactComponent by @SunsetTechuila in #2709
  • feat(cmd): don't allow to proceed if backup is outdated by @SunsetTechuila in #2769
  • feat(install/windows): ignore archive removal error by @SunsetTechuila in #2772
  • feat(install): make script POSIX compliant by @rxri in #2775
  • feat(css-map): update classes by @SunsetTechuila in #2780
  • feat(css-map): map progress-bar--isDragging class by @SunsetTechuila in #2782
  • refactor(spicetify): remove redundant len check by @Juneezee in #2787
  • feat(css-map): update classes by @SunsetTechuila in #2786
  • feat(install/unix): add spicetify to session PATH by @rxri in #2785
  • feat(vscode): add default formatters for other langs by @rxri in #2779
  • chore(deps): bump github/issue-labeler from 3.3 to 3.4 by @dependabot in #2794
  • fix: use chunk for classnames & fix ReactQuery in 1.2.30 by @rxri in #2792
  • feat: expose ContextMenu React component via wrapper by @SunsetTechuila in #2796
  • revert: remove outdated attachObserver function by @rxri in #2801

New in Spicetify 2.30.0 (Jan 11, 2024)

  • Fix(build): disable CGO by @rxri in #2746
  • Fix(cmd): check for spotify.exe existence instead of app folder by @SunsetTechuila in #2747
  • Feat: apply biome suggestions and fix few hooks by @rxri in #2751
  • Feat: move to biome for linter and formatter by @rxri in #2754
  • Feat: simplify platform exposition by @SunsetTechuila in #2753
  • Feat(css-map): update & clean up by @SunsetTechuila in #2758
  • Chore(deps): bump golang.org/x/net from 0.19.0 to 0.20.0 by @dependabot in #2756
  • Chore(deps): bump biomejs/setup-biome from 1 to 2 by @dependabot in #2760
  • Fix: refactor Utils and change prop in fullAppDisplay by @rxri in #2759
  • Feat: partially expose React Router, Redux & improve some regexes by @SunsetTechuila in #2763
  • Fix(wrapper): modify the keywords to find playlistMenuChunk by @rxri in #2762

New in Spicetify 2.29.1 (Jan 1, 2024)

  • What's Changed:
  • fix(wrapper/cards): use functionModules instead of modules by @rxri in #2745
  • Breaking changes for developers:
  • UserAPI._product_state has been replaced by UserAPI._product_state_service since Spotify 1.2.21.
  • Spicetify.Player.data.track property has been fully removed and has been replaced by Spicetify.Player.data.item.

New in Spicetify 2.28.1 (Dec 10, 2023)

  • revert: enhance snackbar exposition by @rxri in #2712
  • fix(wrapper): correct module for Slider by @SunsetTechuila in #2704
  • feat(wrapper): add Toggle ReactComponent by @SunsetTechuila in #2708
  • chore(deps): bump actions/stale from 8.0.0 to 9.0.0 by @dependabot in #2710
  • chore(deps): bump actions/setup-go from 4 to 5 by @dependabot in #2705
  • feat(wrapper): add missing formatDate method by @SunsetTechuila in #2702
  • fix(preprocess): block last logging function by @SunsetTechuila in #2706
  • fix(wrapper): add optional chaining to colorExtractor by @SunsetTechuila in #2703
  • refactor(wrapper): use update event for generating Player events by @SunsetTechuila in #2715
  • fix(wrapper): simpleLayout & wrapper by @ohitstom in #2713

New in Spicetify 2.28.0 (Dec 5, 2023)

  • Feat(preprocess): nuke ui logging by @SunsetTechuila in #2667
  • Fix: correct spotifyPath inside update cmd by @rxri in #2685
  • Chore(deps): bump golang.org/x/net from 0.18.0 to 0.19.0 by @dependabot in #2687
  • Fix(wrapper): remove outdated attachObserver function by @SunsetTechuila in #2693
  • Feat(cmd): ignore update check if version is dev by @SunsetTechuila in #2697
  • Fix(extensions/bookmark): content_uri migration support by @Delusoire in #2688
  • Feat(wrapper): remove appchange event from player by @SunsetTechuila in #2696
  • Feat(css-map): update classes by @SunsetTechuila in #2691
  • Feat(wrapper): use apis for toggleHeart, getHeart, toggleMute by @SunsetTechuila in #2692
  • Feat: enhance snackbar exposition by @SunsetTechuila in #2701
  • Feat: remove compatibility track property by @rxri in #2695

New in Spicetify 2.27.2 (Nov 23, 2023)

  • fix(lyrics-plus): optionsMenu-dropBox tippy by @ohitstom in #2664
  • feat(css-map): update classes by @SunsetTechuila in #2665
  • feat(wrapper): menuitem add trailingIcon parameter by @ohitstom in #2649
  • feat(cmd/update): remove redundant code by @SunsetTechuila in #2666
  • feat(wrapper): add Chip component by @duffey in #2640
  • fix(types): add missing types for button components by @Pithaya in #2669
  • feat: allow for env variables in config paths by @eye-wave in #2670
  • fix(wrapper): Spicetify.Locale in Spotify v1.2.25+ by @SunsetTechuila in #2675
  • fix: use Spicetify.Player.data.item by @SunsetTechuila in #2676

New in Spicetify 2.27.1 (Nov 14, 2023)

  • fix(fullAppDisplay): return when Player.data is null by @HRTK92 in #2637
  • chore(deps): bump github/issue-labeler from 3.2 to 3.3 by @dependabot in #2641
  • chore(deps): bump golang.org/x/net from 0.17.0 to 0.18.0 by @dependabot in #2642
  • fix(spicetify): update & upgrade commands by @SunsetTechuila in #2645
  • fix(wrapper): hook PlaylistMenu isn't found in 1.2.0 by @rxri in #2650
  • fix(preprocess): prevent logging into localStorage in spotify v1.2.24+ by @SunsetTechuila in #2652
  • chore: remove unused build script by @SunsetTechuila in #2653

New in Spicetify 2.27.0 (Nov 8, 2023)

  • Fix: static analysis warnings
  • Fix: further static analysis fixes
  • Fix(wrapper): wrong icons color
  • Feat: update rework
  • Revert(lyrics-plus): netease api

New in Spicetify 2.26.0 (Nov 6, 2023)

  • What's Changed:
  • fix: return error on malformed json by @rxri in #2632
  • feat: always_enable_devtools config key by @SunsetTechuila in #2630
  • feat(snackbar): styledImage component by @ohitstom in #2627
  • fix(wrapper): confirmdialog component by @ohitstom in #2628
  • BREAKING CHANGES FOR DEVELOPERS:
  • UserAPI._product_state has been replaced by UserAPI._product_state_service since Spotify 1.2.21.

New in Spicetify 2.25.3 (Oct 31, 2023)

  • What's Changed:
  • fix(preprocess/disableLogging): match function in older versions by @rxri in #2626
  • BREAKING CHANGES FOR DEVELOPERS:
  • UserAPI._product_state has been replaced by UserAPI._product_state_service since Spotify 1.2.21.

New in Spicetify 2.25.2 (Oct 29, 2023)

  • What's Changed:
  • feat(preprocess): prevent logging in localStorage by @rxri in #2623
  • fix(wrapper): make the snackbar a priority by @rxri in #2622
  • feat(path-utils): try to find custom app folder with index.js by @SunsetTechuila in #2604
  • BREAKING CHANGES FOR DEVELOPERS:
  • UserAPI._product_state has been replaced by UserAPI._product_state_service since Spotify 1.2.21.
  • Due to changes in Spotify 1.2.19, how we retrieve data for Spicetify.Player.data has also changed. Since v2.23.0 it now uses PlayerAPI._state to retrieve Player data, possibly leading to different variable names. Please update your extensions or custom apps accordingly to both changes
  • This is the last release that mentions this breaking change

New in Spicetify 2.25.1 (Oct 27, 2023)

  • Chore(css-map): map lyrics-lyricsContent-text
  • Fix(keyboardShortcut): enable playlist selection
  • Refactor(wrapper): combine snackbar and notification apis
  • Feat: stop sending the events to gabo-service
  • Chore(css-map): view-homeShortcutsGrid-playingIcon
  • Fix(wrapper): styled component filters

New in Spicetify 2.25.0 (Oct 25, 2023)

  • Ci(github/actions): re-enable HTTPS on AUR update request by @itsmeow in #2580
  • Fix(new-releases): pointer events override by @ohitstom in #2583
  • Chore: bump homebrew action by @afonsojramos in #2585
  • Feat(cmd): request to stop the process if backup is outdated by @SunsetTechuila in #2588
  • Fix(lyrics-plus): lyrics version selector margin by @SunsetTechuila in #2597
  • Fix(lyrics-plus): copy second genius lyrics by @SunsetTechuila in #2595
  • Fix(lyrics-plus): hide synced lyrics container overflow-x by @SunsetTechuila in #2602
  • Chore(deps): bump golang.org/x/net from 0.15.0 to 0.17.0 by @dependabot in #2598
  • Feat(preprocess): implement snackbar api by @ohitstom in #2601

New in Spicetify 2.24.2 (Sep 28, 2023)

  • revert: homebrew action back to v2 by @rxri in #2577

New in Spicetify 2.23.2 (Sep 11, 2023)

  • fix(preprocess): patch for 1.2.20 by @rxri in #2556

New in Spicetify 2.23.1 (Sep 9, 2023)

  • Fix(lyrics-plus): add missing params for mxm richsync by @kakkokari-gtyih in #2536
  • Fix: adapt extensions to new player data structure by @rxri in #2537
  • Chore(deps): bump actions/checkout from 3 to 4 by @dependabot in #2550
  • Fix(shuffle+): add context support for Queue by @Delusoire in #2552
  • Chore: update supported spotify ver by @rxri in #2545
  • Chore(deps): bump golang.org/x/net from 0.14.0 to 0.15.0 by @dependabot in #2553

New in Spicetify 2.23.0 (Aug 31, 2023)

  • What's Changed:
  • chore(deps): bump golang.org/x/net from 0.13.0 to 0.14.0 by @dependabot in #2504
  • refactor(keyboardShortcut): cleanup & patch keybinds by @ohitstom in #2506
  • feat: toggle in-app update notification by @ohitstom in #2512
  • refactor(lyrics-plus/translator): wait-and-retry logic by @pan93412 in #2510
  • fix(lyrics-plus/utils): no-op replace by @pan93412 in #2511
  • fix(lyrics-plus/netease): use PyNCMd API by @pan93412 in #2508
  • feat(wrapper): expose Button components by @Aimarekin in #2514
  • ci(github/workflows): merge trigger-winget-release job by @sitiom in #2522
  • fix(lyrics-plus/utils): force usage of OpenCC standard by @Deskehs in #2517
  • refactor(lyrics-plus): unneeded interpolation by @pan93412 in #2524
  • fix(popupLyrics/netease): use PyNCMd API by @Lseoksee in #2516
  • fix: use PlayerAPI for Player.data by @rxri in #2532
  • style: apply prettier to all files by @afonsojramos in #2533
  • BREAKING CHANGE FOR DEVELOPERS:
  • Due to changes in Spotify 1.2.19, how we retrieve data for Spicetify.Player.data has also changed. This version now uses PlayerAPI._state to retrieve Player data, possibly leading to different variable names. Please update your extensions or custom apps accordingly
  • Compatibility:
  • Spotify 1.2.18, 1.2.19 don't have working custom panels. PanelAPI has changed and there is no ETA for patch
  • Spotify for macOS: 1.2.0 -> 1.2.19
  • Spotify for Linux: 1.2.8, 1.2.9, 1.2.11, 1.2.13
  • Spotify for Windows/Microsoft Store: 1.2.0 -> 1.2.19
  • Spicetify may not work properly with Microsoft Store version

New in Spicetify 2.22.2 (Aug 9, 2023)

  • Chore(deps): bump golang.org/x/net from 0.12.0 to 0.13.0 by @dependabot in #2500
  • Fix(css-map): remove outdated buddy feed header class by @SunsetTechuila in #2501
  • Feat(types): add definition for Locale by @kyrie25 in #2490
  • Fix(context-menu): catch error for items by @kyrie25 in #2492
  • Fix(panel): initial render state by @kyrie25 in #2493
  • Feat(panel): descriptive error message by @kyrie25 in #2499
  • Fix: patch for 1.2.17 by @kyrie25 in #2496

New in Spicetify 2.22.1 (Jul 26, 2023)

  • What's Changed:
  • Fix: playlistMenuChunk and imageAnalysis hooks by @rxri in #2487
  • Fix(sidebar-config): append correct id by @kyrie25 in #2488
  • Compatibility:
  • Due to complexity of few hooks we dropped full support for 1.1.85 -> 1.1.99 in last few releases
  • Spotify for macOS: 1.2.0 -> 1.2.16
  • Spotify for Linux: 1.2.8, 1.2.9, 1.2.11, 1.2.13
  • Spotify for Windows/Microsoft Store: 1.2.0 -> 1.2.16
  • Spicetify may not work properly with Microsoft Store version

New in Spicetify 2.22.0 (Jul 24, 2023)

  • fix(sidebar-config): retain id on re-render by @kyrie25 in #2484
  • fix(panel): launch render state by @kyrie25 in #2485
  • feat: partially migrate hooks to wrapper by @kyrie25 & @rxri in #2480

New in Spicetify 2.21.0 (Jul 17, 2023)

  • Feat(lyrics-plus): copy Genius page lyrics
  • Feat(upgrade): verify backup status
  • Chore(deps): bump golang.org/x/net from 0.11.0 to 0.12.0
  • Chore(deps): bump github/issue-labeler from 3.1 to 3.2
  • Feat(lyrics-plus): refresh token on demand
  • Feat(install): prevent running as admin or root
  • Feat(react-component): add Slider
  • Fix(reddit): type check subtitle
  • Chore(css-map): update classes
  • Style(lyrics-plus): restrict selectors to app
  • Fix(install): use prompt when run as admin
  • Feat(lyrics-plus): add Musixmatch English translation
  • Fix(react-hook): patch for 1.2.9 and lower
  • Feat: expose extractColorPreset & Color

New in Spicetify 2.20.3 (Jun 28, 2023)

  • What's Changed:
  • Fix(lyrics-plus): ignore lang check on none/Genius by @kyrie25 in #2436
  • Fix(wrapper/functionModules): handle errors by @rxri in #2438

New in Spicetify 2.20.2 (Jun 26, 2023)

  • chore(github): Remove CODEOWNERS by @itsmeow in #2418
  • fix(panel): patch for 1.2.14 by @kyrie25 in #2421
  • fix(fad): lyrics plus positioning by @kyrie25 in #2417
  • feat(wrapper): expose ReactQuery & usePanelState by @kyrie25 in #2426
  • ci(lintpr): add validation for scope & subject by @rxri in #2419
  • fix(lyrics-plus): separate lyrics providers from mode selection by @Deskehs in #2343
  • fix(new-releases): use GraphQL query & temp removal of appears-on by @kyrie25 in #2425
  • feat(uri): hook missing methods by @kyrie25 in #2427
  • fix: deprecate relevant wg endpoints by @kyrie25 in #2432
  • feat(react-hook): expose useExtractedColor by @kyrie25 in #2430

New in Spicetify 2.20.1 (Jun 17, 2023)

  • What's Changed:
  • fix(wrapper/app-title): use override values by @ohitstom in #2401
  • feat(watch): enable devtools by @machinemessiah in #2403
  • fix(panel): catch error & prevent crashing client by @kyrie25 in #2405
  • feat(wrapper/topbar): append button on right by @ohitstom in #2407
  • chore(css-map): update classes by @kyrie25 in #2406
  • feat(panel): pass panel ID as props by @kyrie25 in #2409
  • chore(deps): bump golang.org/x/net from 0.10.0 to 0.11.0 by @dependabot in #2408
  • fix: hotpatch for 1.2.14 by @kyrie25 in #2412
  • fix(lyrics-plus): absolute positioning in container by @ohitstom in #2402
  • chore(css-map): map devicePicker classes by @kyrie25 in #2414
  • feat(fad): hide cursor on fullscreen & inactivity by @kyrie25 in #2383
  • feat: expose ReactFlipToolkit & classnames by @kyrie25 in #2413

New in Spicetify 2.20.0 (Jun 6, 2023)

  • What's Changed:
  • feat(trashbin): fix code & handle player state upon enable by @Qwerty-133 in #2389
  • fix(tippyProps): allow innerHTML property by @ohitstom in #2387
  • fix: 1.2.13 hotfix by @kyrie25 in #2395
  • chore(types): update definition by @kyrie25 in #2391
  • feat(custom-apps): allow adding assets by @kuba2k2 in #2396
  • fix(panel): render NowPlayingView on 1.2.9 by @kyrie25 in #2385
  • chore(css-map): update classes by @kyrie25 in #2397
  • chore(css-map): update player root class by @Tetrax-10 in #2393
  • Compatibility:
  • Spotify for macOS: 1.1.85 -> 1.2.13
  • Spotify for Linux: 1.1.99, 1.2.8, 1.2.9
  • Spotify for Windows/Microsoft Store: 1.1.85 -> 1.2.13
  • Spicetify may not work properly with Microsoft Store version

New in Spicetify 2.19.0 (May 30, 2023)

  • What's Changed:
  • fix(update-modal): log error by @Tetrax-10 in #2341
  • chore(css-map): add root classes by @Tetrax-10 in #2342
  • fix(playbar): add classname when not registered by @kyrie25 in #2340
  • feat(fullAppDisplay): show always the exact releaseDate by @Ender-Wang in #2338
  • feat(fullAppDisplay): add option to display release date by @Ender-Wang in #2344
  • style(new-releases): match spotify card styling by @ohitstom in #2348
  • feat(graphql): filter definition types by @kyrie25 in #2351
  • feat(playbar): add Widget by @kyrie25 in #2347
  • feat(react-hook): add method & DragHandler by @kyrie25 in #2349
  • fix(new-release): render duplicate card on dismiss by @kyrie25 in #2352
  • chore(css-map): update classes by @kyrie25 in #2353
  • style: uniform icon size by @kyrie25 in #2356
  • fix(trashbin): display widget on supported URI type by @kyrie25 in #2358
  • fix(widget): spacing by @kyrie25 in #2360
  • chore(types): update local URI properties by @Aimarekin in #2364
  • fix(trashbin): disable widget on song change by @kyrie25 in #2367
  • chore(css-map): update classes by @kyrie25 in #2362
  • chore(css-map): update classes by @Tetrax-10 in #2369
  • fix(URI): hook onto base component by @kyrie25 in #2370
  • fix(sidebar-config): 1.2.12 stylings by @kyrie25 in #2372
  • chore(css-map): update classes by @darkthemer in #2378
  • feat: add Panel method by @kyrie25 in #2368
  • Compatibility:
  • Spotify for macOS: 1.1.85 -> 1.2.12
  • Spotify for Linux: 1.1.99, 1.2.8, 1.2.9
  • Spotify for Windows/Microsoft Store: 1.1.85 -> 1.2.12
  • Spicetify may not work properly with Microsoft Store version

New in Spicetify 2.18.1 (May 9, 2023)

  • What's Changed:
  • Fix(wrapper): only show changes in changelog by @Tetrax-10 in #2326
  • Fix(sidebar-config): dynamic apply between UI by @kyrie25 in #2323
  • Fix(lyrics-plus): update lyrics on queue spam & lock mode by @kyrie25 in #2321
  • Feat(lyrics-plus): playbar button by @ohitstom in #2327
  • Feat: modify lyrics cleantitle regex & netease lyrics update by @Lseoksee in #2319
  • Feat(new-releases): dismissible cards by @ohitstom in #2328
  • Feat(fullAppDisplay): add day to album release date by @Ender-Wang in #2336
  • Chore(deps): bump golang.org/x/net from 0.9.0 to 0.10.0 by @dependabot in #2337

New in Spicetify 2.18.0 (May 4, 2023)

  • fix(updateTheme): don't exit when prop is blank by @rxri in #2265
  • fix(watch): reload on asset change by @kyrie25 in #2273
  • feat: notify update in-app by @kyrie25 in #2276
  • docs: update help by @Tetrax-10 in #2272
  • feat: help on no commands by @erikhuizinga in #2263
  • feat(wrapper): changelog in update popup by @Tetrax-10 in #2279
  • fix(lyrics-plus): colorful background by @ohitstom in #2287
  • fix(wrapper): append props with dynamic entries by @kyrie25 in #2282
  • fix(custom-apps): set icon stroke-width by @ohitstom in #2285
  • fix(reddit): ignore on invalid URI by @kyrie25 in #2286
  • refactor(install.ps1): improve style by @SunsetTechuila in #2275
  • feat(lyrics-plus): global delay by @ohitstom in #2288
  • fix(windows/install): bring back missing arguments by @SunsetTechuila in #2289
  • feat(wrapper): add interface for app title by @kyrie25 in #2290
  • feat(config): string type value remove flag by @ohitstom in #2294
  • chore(css-map): update like button classes by @Tetrax-10 in #2296
  • feat(lyrics-plus): add tooltip on adjustment button by @kyrie25 in #2298
  • feat(react-component): add ConfirmDialog by @kyrie25 in #2297
  • feat(trashbin): import/export & settings modal by @ohitstom in #2291
  • feat(lyrics-plus): hangul transliteration support by @ohitstom in #2293
  • chore(css-map): update classes by @kyrie25 in #2300
  • feat(lyrics-plus): add tooltip on config button by @kyrie25 in #2301
  • feat: hook GraphQL wrapper by @kyrie25 in #2305
  • fix(trashbin): export config by @eye-wave in #2303
  • fix(exp-features): save config after reset & add fallback method by @kyrie25 in #2295
  • feat(lyrics-plus): improve Netease lyrics algorithm by @Lseoksee in #2310
  • feat(lyrics-plus): fetch from multiple sources & patches by @kyrie25 in #2304

New in Spicetify 2.17.2 (Apr 15, 2023)

  • Fix(bookmark): show notification on error by @kyrie25 in #2253
  • Fix(lyrics-plus): parse Musixmatch karaoke time by @kyrie25 in #2254
  • Feat: add support for theme's script by @ohitstom in #2256
  • Fix: remote debugging by @rxri in #2260

New in Spicetify 2.17.1 (Apr 8, 2023)

  • Fix(lyrics-plus): clear cache text
  • Fix(exp-features): use remote values in fresh install
  • Feat(wrapper): add method to hide/show player button
  • Fix(wrapper): button props for styled classes
  • Fix(lyrics-plus): re-enable dual panel
  • Fix(sidebar-config): YLX behavior
  • Feat(lyrics-plus): add musixmatch word sync
  • Chore(deps): bump golang.org/x/net from 0.8.0 to 0.9.0
  • Fix: patch for 1.2.9
  • Fix(player): listen to child on appchange

New in Spicetify 2.17.0 (Mar 30, 2023)

  • What's Changed:
  • Feat(shuffle+): add Local Files shuffling by @kyrie25 in #2171
  • Fix(workflows/winget): use new token by @afonsojramos in #2175
  • Fix(lyrics-plus): copy on context menu by @kyrie25 in #2176
  • Fix: add compatibility for webnowplaying-redux by @keifufu in #2178
  • Fix(wrapper): deregister menu item by @B4rc1 in #2182
  • Fix(lyrics-plus): scrollable background container by @4A9EBB44 in #2187
  • Chore(deps): bump golang.org/x/net from 0.7.0 to 0.8.0 by @dependabot in #2188
  • Style(exp-features): fix conflict & use stock styling by @kyrie25 in #2191
  • Fix(lyrics-plus): improve detection of zh and ja by @Deskehs in #2185
  • Feat(wrapper): use icons in menu item by @Tetrax-10 in #2198
  • Chore(deps): bump actions/setup-go from 3 to 4 by @dependabot in #2200
  • Fix(cmd/auto): not starting spotify by @SteffanDonal in #2205
  • Chore(deps): bump actions/stale from 7.0.0 to 8.0.0 by @dependabot in #2212
  • Feat(lyrics-plus): chinese characters convertion by @Deskehs in #2203
  • Fix: patch for 1.2.8 by @kyrie25 in #2214
  • Fix(preprocess): expose URI class & update types by @kyrie25 in #2183
  • Perf(lyrics-plus): disable conversion by default by @Lseoksee in #2217
  • Feat: support for Your Library X by @kyrie25 in #2076
  • Feat: map styled-components dynamic class name by @kyrie25 in #2207
  • Fix(home-config): patch for v2 by @kyrie25 in #2190
  • Fix(popupLyrics): providers change fix by @Lseoksee in #2219
  • Chore(deps): bump github/issue-labeler from 3.0 to 3.1 by @dependabot in #2222
  • Fix(lyrics-plus): pick better background color by @Lseoksee in #2221
  • Fix(wrapper): class name on base element by @kyrie25 in #2224
  • Feat: add playbar button method by @kyrie25 in #2225
  • Feat(lyrics-plus): save loaded lyrics & support for enhanced LRC by @kyrie25 in #2180
  • Feat(preprocess): add support for new color vars by @ohitstom in #2226
  • Fix(webnowplaying): memory leak by @keifufu in #2228
  • Chore(MenuItems): add icons by @Tetrax-10 in #2223
  • Feat: add check-update flag by @rxri in #2227
  • Feat: expose Tippy.js instance by @kyrie25 in #2229

New in Spicetify 2.16.2 (Feb 26, 2023)

  • Fix(lyrics-plus): remove ID3 tags from .lrc
  • Ci(github/workflows): add Winget Releaser
  • Chore(deps): bump github/issue-labeler from 2.0 to 3.0
  • Chore(deps): bump actions/checkout from 1 to 3
  • Chore(deps): bump actions/stale from 4.0.0 to 7.0.0
  • Chore(deps): bump actions/setup-go from 2 to 3
  • Chore(deps): bump golang.org/x/net from 0.1.0 to 0.7.0
  • Fix(deps): bump prettier action to 4.3
  • Fix(reddit): URI.fromString
  • Fix(webnowplaying): remove extra space in ws message
  • Fix(preprocess): submenu hooks for 1.2.6 b

New in Spicetify 2.16.1 (Feb 1, 2023)

  • Fix(workflow): patch release workflow
  • Feat: add msTimeout for showNotification
  • Docs(devtools): add macOS instructions
  • Feat(installer): write log to file for support
  • Chore(windows/install): remove curl version
  • Chore: ignore spicetify binaries
  • Fix(windows/install): declare variable in order
  • Fix(lyrics-plus): updated margins
  • Feat(lyrics-plus): add netease translation
  • Fix(install): add check for $ZDOTDIR
  • Fix(lyrics-plus): spelling mistakes
  • Feat: add Text and Icon hooks
  • Fix(sidebarConfig): resize after closing sidebar config
  • (lyrics-plus): make config container unclickable
  • Fix(wrapper/ContextMenu): fetch sidebar object URI
  • Fix: patch for 1.2.4
  • Fix(lyrics-plus): inject translator when option is enabled
  • Fix(lyrics-plus): search container b

New in Spicetify 2.16.0 (Jan 2, 2023)

  • chore(css-map): update keyboard shortcuts class by @Tetrax-10 in #2063
  • fix(github/actions): AUR update by @itsmeow in #2058
  • fix(wrapper): append active class on custom app location by @kyrie25 in #2064
  • feat(lyrics-plus): support for lrc files by @kyrie25 in #2066
  • feat(lyrics-plus): remember song delay by @kyrie25 in #2068
  • fix(lyrics-plus): various fixes to local lyrics by @kyrie25 in #2067
  • feat(lyrics-plus): add japanese lyrics conversion tool by @41pha1 in #1990
  • style(lyrics-plus): specify width for config button by @kyrie25 in #2069
  • feat(github/actions): add homebrew release step by @theRealPadster in #2060
  • fix(macos): reload in watch by @ririxidev in #2061
  • fix(lyrics-plus): copy converted Japanese lyrics by @kyrie25 in #2075
  • chore(css-map): update classes by @kyrie25 in #2077
  • fix(apply): patch for 1.2.2 by @kyrie25 in #2078

New in Spicetify 2.15.0 (Dec 19, 2022)

  • What's Changed:
  • chore(css-map): update classes by @kyrie25 in #2024
  • chore(css-map): update lyrics classes by @Tetrax-10 in #2029
  • fix(apply): define custom app routes by @kyrie25 in #2038
  • fix(install): add new line to file by @ririxidev in #2042
  • chore(css-map): update lyrics classes by @Tetrax-10 in #2035
  • fix(types): update SVGIcons by @Tetrax-10 in #2044
  • chore(css-map): update classes by @kyrie25 in #2043
  • fix(preprocess): update menu hooks by @kyrie25 in #2057

New in Spicetify 2.14.3 (Nov 23, 2022)

  • Fix(CustomApps): hotfix for 1.1.99 by @kyrie25 in #2022

New in Spicetify 2.14.1 (Oct 27, 2022)

  • Feature:
  • Feat(expFeatures): general overhaul
  • Fix(css-map): update class names
  • Style(expFeatures): fix search bar styling
  • Feat: add TooltipWrapper React Component
  • Fix(css-map): update navAlt classes
  • Fix(Reddit): new layout compatibility
  • Fix(css-map): map Search classes
  • Fix(devtools): searching for flatpak version
  • Fix(types): optional param declaration for playUri
  • Fix(install.sh): create shellrc file when not found
  • Feat: add Spicetify config to version modal
  • Fix: excess symbol on empty color scheme
  • Fix: add support for 1.1.97
  • Feat(github/actions): lint pr title
  • Feat: clean code
  • Important changes
  • Fix: add support for 1.1.97
  • Fix(devtools): searching for flatpak version
  • Compatibility
  • Spotify for Windows/Microsoft Store: 1.1.85 -> 1.1.97
  • Spicetify may not be stable/supported very well on Microsoft Store version

New in Spicetify 2.14.0 (Sep 29, 2022)

  • What's Changed:
  • feat(expFeatures): enable usage for enum type by @kyrie25 in #1941
  • fix(shuffle-plus): display liked songs option on relevant page by @kyrie25 in #1943
  • fix(fad): disable toggle if Lyrics Plus not applied by @kyrie25 in #1944
  • fix(css-map): update new layout classes by @kyrie25 in #1950
  • fix: compatibility with 1.1.95 by @kyrie25 in #1955
  • feat(wrapper): add function to change key bindings by @kyrie25 in #1937
  • feat: allow running config-dir without valid path by @kyrie25 in #1959
  • fix: clear path if invalid AppX path is used by @kyrie25 in #1960
  • feat(preprocess): add support for error message bubble by @kyrie25 in #1963

New in Spicetify 2.13.1 (Sep 12, 2022)

  • fix(topBar): reappend buttons on container removed by @kyrie25 in https://github.com/spicetify/spicetify-cli/pull/1913
  • fix(css-map): update classes by @kyrie25 in https://github.com/spicetify/spicetify-cli/pull/1911
  • feat: general QoL changes by @kyrie25 in https://github.com/spicetify/spicetify-cli/pull/1923
  • fix(shuffle+): improved and fixed bugs by @Tetrax-10 in https://github.com/spicetify/spicetify-cli/pull/1921

New in Spicetify 2.13.0 (Sep 1, 2022)

  • Feat(popup-lyrics): add global delay option
  • Fix(CustomApps): play button styling
  • Fix(preprocess): menu hooks
  • Fix(preprocess): 1.1.93 hotfix
  • Fix(preprocess): update disableSentry hook
  • Fix(preprocess): crash on clicking findFriendsButton
  • Fix(wrapper): Queue binds
  • Fix(css-map): update settings classes
  • Fix(sidebarConfig): personal-library dragover styling

New in Spicetify 2.12.0 (Aug 22, 2022)

  • fix(css-map): add coverSlot classes by @kyrie25 in #1834
  • fix(css-map): add main-avatar-image by @Tetrax-10 in #1835
  • fix(shuffle+): skip unplayable tracks on fetchPlaylist by @iurimateus in #1840
  • fix(CustomApps): dropdown items not present by @kyrie25 in #1848
  • fix(css-map): update classes by @kyrie25 in #1859
  • feat(LyricsPlus): seek to lyrics on click by @kyrie25 in #1847
  • feat(wrapper): add getFontStyle method by @kyrie25 in #1850
  • feat: reimplement Experimental Features by @kyrie25 in #1865
  • feat(expFeatures): update new features upon mismatch by @kyrie25 in #1867
  • feat(lyrics-plus): copy lyrics on right-click & stylings by @kyrie25 in #1866
  • fix(preprocess): platform hooks for 1.1.92 by @kyrie25 in #1875
  • fix(shuffle+): fail to put track to queue by @kyrie25 in #1872
  • fix(preprocess): patch correct component for MenuItem by @kyrie25 in #1870
  • feat(full-app-display): add like button by @kyrie25 in #1869
  • fix(config): check AppX path before apply to config-xpui by @kyrie25 in #1879
  • fix(preprocess): special ReactDOM case by @kyrie25 in #1877
  • feat(devtools): add support for MSIX installations by @kyrie25 in #1880

New in Spicetify 2.11.1 (Jul 21, 2022)

  • fix(apply): backwards compatibility by @kyrie25 in #1829

New in Spicetify 2.10.2 (Jun 27, 2022)

  • Fix(keyboardShortcut.js): next/prevSong selectors by @Kafva in #1724
  • Fix(reddit): panel size by @guttitto in #1731
  • Fix(rtl): disable one rtl removal by @ririxichan in #1746
  • Fix(devtools): add flatpack support by @ririxichan in #1759
  • Fix(css-map): add missing classes for 1.1.87 by @ririxichan in #1764
  • Fix(css-map): add liked songs icon class by @theRealPadster in #1768
  • Fix(css-map): class name for buddyFeed 1.1.87 by @kyrie25 in #1769
  • Fix(css-map): add respective classes for rootlistDivider by @kyrie25 in #1774
  • Chore: remove customization link by @Sebight in #1775
  • Add Create Playlist and Episodes icon to css map by @CharlieS1103 in #1779
  • Chore(preprocess): replace #fff hex code with variable by @CharlieS1103 in #1781
  • Add now playing bar remap by @CharlieS1103 in #1782
  • Fix(css-map): add class for collectionLinkButton by @CharlieS1103 in #1784
  • Chore(workflows): add commitlint by @ririxichan in #1783
  • Fix(css-map): add missing comma by @kyrie25 in #1786
  • Revert(preprocess): replace #fff with variable by @kyrie25 in #1787
  • Fix(sidebarConfig): fix displaying items by @ririxichan in #1789

New in Spicetify 2.10.1 (May 29, 2022)

  • What's Changed:
  • Fix(hooks): patch rightclickmenu by @CharlieS1103 in #1719
  • Fix(css-map): update CSS map by @JulienMaille in #1718
  • Fix(css-map): update CSS mapby @JulienMaille in #1720

New in Spicetify 2.10.0 (May 27, 2022)

  • Fix(css-map): update classes
  • Feat(spotify): support for spotify 1.1.85
  • Fix(keyboardShortcut.js): volume api & steps

New in Spicetify 2.9.9 (May 23, 2022)

  • Feat: improve handling of new Spotify versions
  • Fix(lyrics-plus): add null check
  • Fix(lyrics-plus): switch to wg:// protocol for colors
  • Fix(wrapper): adapt few functions to wg:// protocol
  • Fix: adapt urls in custom app & extensions to wg:// protocol
  • Fix(devtools): patch another location
  • Fix(sidebar-config): get elements by classname
  • Fix: rename old exe to current exe in case of failure extracting
  • Chore: edit readme
  • Chore(lyrics-plus): use DOMParser to parse the genius

New in Spicetify 2.9.8 (Apr 29, 2022)

  • Fix: modify filePath from .config to .cache by @Kafva in #1618
  • Fix(keyboardShortcut): update selector by @ajiou in #1617
  • Feat(restart): check if process is running by @kyrie25 in #1623
  • Fix(Lyrics Plus): not showing full lyrics by @kyrie25 in #1627

New in Spicetify 2.9.7 (Apr 25, 2022)

  • Fix (New-Releases) : Cards Being Displayed Incorrectly by @Exhigh in #1606
  • fix(devtools): use new method to enable devtools by @ririxidev in #1613
  • Update css-map.json with latest main-trackInfo-* by @JulienMaille in #1610
  • fix(devtools): overwrite homePath if snap detected by @ririxidev in #1614

New in Spicetify 2.9.6 (Apr 23, 2022)

  • Fix: readme links
  • Chore: add bash_profile fallback for bash
  • Fix(windows): add missing prefs message
  • Fix(new-releases): switch to wg:// protocol
  • Fix(lyrics): switch to wg:// protocol
  • Fix: Spotify 1.1.83 hooks

New in Spicetify 2.9.5 (Apr 11, 2022)

  • Chore: update shuffle+ to work 1.1.81 onwards by @huhridge in #1559
  • Fix(fullAppDisplay): background for full screen display on a vertical monitor by @kwerdenker in #1560
  • Chore: restructure install.sh by @wael444 in #1535
  • Fix: New Releases custom app for Spotify 1.1.81+ by @th3an7 in #1563
  • Add: go formatting to the pipeline by @afonsojramos in #1574
  • Fix: specific version fetching in install script by @afonsojramos in #1578
  • Chore: enhance specific version fetch by @afonsojramos in #1582

New in Spicetify 2.9.4 (Mar 27, 2022)

  • fix: fullAppDisplay album info & background by @huhridge in #1543
  • upgrade: Go 1.18 by @Moulick in #1547
  • Menu hook and Menu Item Hook patches by @CharlieS1103 in #1548

New in Spicetify 2.9.3 (Mar 24, 2022)

  • What's Changed:
  • Add path for void linux by @wael444 in #1534
  • Fix: patch part of menu hook by @CharlieS1103 in #1529

New in Spicetify 2.9.2 (Mar 4, 2022)

  • fix: base functionality hooks for Spotify 1.1.80 by @itsmeow in #1517
  • feat: flexible watch command by @machinemessiah in #1477
  • fix: changed selector for focusOnApp() in keyboardShortcuts.js by @Kafva in #1495
  • fix: updated spicetify -h output with new flag info by @machinemessiah in #1496
  • chore: remove issue templates over org defaults by @afonsojramos in #1503
  • fix: install script by @CrossNox in #1506
  • fix: labeler with new labels by @afonsojramos in #1508
  • chore: move towards spicetify organisation by @afonsojramos in #1507
  • fix: main selector for newReleases.js by @machinemessiah in #1510
  • fix: viewportSelector for reddit app by @afonsojramos in #1511
  • feat: automated release workflow by @afonsojramos in #1513
  • fix: conditional after move to IS_UNIX & IS_WIN by @afonsojramos in #1519

New in Spicetify 2.9.1 (Feb 18, 2022)

  • CSS map update : x-searchInput-searchInputSearchIcon and x-searchInput-searchInputClearButton by @sagars007 in #1458
  • fix: issue where new Spicetify.ContextMenu items were not added to the now playing song in the bottom. by @huhridge in #1457
  • trim title after comma in fad by @ajiou in #1465
  • fix: install message tip by @afonsojramos in #1476
  • Patch for Spotify version 1.79 by @CharlieS1103 in #1479

New in Spicetify 2.9.0 (Feb 4, 2022)

  • fix: error with Spotify 1.1.78.765 (Fixes #1449) by @itsmeow in #1450
  • feat: automatically append .js (if absent) to extensions in config by @CharlieS1103 in #1439
  • fix: wrong class names for historyButtons #1398 by @huhridge in #1440
  • fix: temporarily disable split display for genius by @ajiou in #1444
  • fix: replaced file existence check for shell check by @afonsojramos in #1445
  • add: instrumental to lyrics-plus, and ability to play stations with auto-shuffle on fixing #1448 by @huhridge in #1446
  • fix: issue where lyrics-plus was stuck on restricted lyrics in Musixmatch by @huhridge in #1452

New in Spicetify 2.8.5 (Jan 30, 2022)

  • CSS map: update 'more albums
  • CSS map: update 'queue-tabBar-header'
  • Add spicetify to $PATH on linux
  • Add spicetify to $PATH for Fish shell
  • CSS map: update main-rootlist-wrapper
  • Fixes for expFeatures.js
  • fix keyboard shortcut for queue button
  • Fix broken link to installation documentation
  • Select parent element, so dribbblish's custom search box will be selected
  • fix: lyrics.providedBy text bug on lyrics-plus
  • Spicetify.Player volume method fixes/replacements

New in Spicetify 2.8.4 (Jan 9, 2022)

  • Update css-map.json
  • Update css map
  • Add new css mapping for x-categoryCard-CategoryCard
  • Add shortcuts for nextSong previousSong increaseVolume decreaseVolume…
  • Update mapping for .x-searchInput-searchInputInput
  • Update css map
  • Patch react element regex & CSS Map

New in Spicetify 2.8.3 (Nov 25, 2021)

  • Fix:
  • SpicetifyCosmosAsync missing in Spotify v1173
  • Note: that this release is still backward compatible with v1172
  • Lyrics-plus: Fix horizontal alignment for Unsynced/Genius lyrics, it should respect your config now #1293
  • Add:
  • [Preview] Full App Display (FAD) extension and Lyrics-Plus integration: Display lyrics on FAD
  • Activate Lyrics Plus integration option in FAD config menu, then close and open FAD again
  • Lyrics container in FAD still needs to be configured via Lyrics Plus config menu All interactions are the same, including Ctrl+Mouse scroll
  • You might want to lock in Synced mode (right click at Synced tab in Lyrics Plus) if you don't it to switch to unsynced mode
  • Most of FAD code was converted to React
  • "ESC" keyboard shortcut to turn off FAD

New in Spicetify 2.8.2 (Nov 20, 2021)

  • Adds:
  • Lyrics-plus app:
  • Synced lyrics animation revamp
  • Full screen mode: set hotkey to activate it config menu
  • Adjust font size: you can change it in config menu or Ctrl + Mouse scroll in main app
  • Fade-out blur config option
  • Customise number of previous/next lines to display
  • API: New icons for Spicetify.SVGIcons
  • API: Large window option for Spicetify.PopupModal
  • Changes:
  • Colors CSS variables are put in separated file from user.css.
  • CLI: only print version info with chainable commands
  • Fixes:
  • shuffle+.js: Fix Auto Shuffle single track album

New in Spicetify 2.8.1 (Nov 13, 2021)

  • Fix:
  • Compatible with Spotify v1.1.72, v1.1.71 and v1.1.69
  • Fix custom app loading function for v1.1.72

New in Spicetify 2.8.0 (Nov 11, 2021)

  • !This update is for version 1.1.72 of Spotify only
  • Fixes:
  • CSS Map for 1.1.72 (Thanks @itsmeow)
  • Adds:
  • spicetify config-dir command to open config directory in system file explorer (Thanks @GameFuzzy) (Linux requires xdg-utils package)

New in Spicetify 2.7.3 (Nov 10, 2021)

  • Fixes:
  • popupLyrics extensions and lyrics-plus app: Lyrics provider Netease URL and request header
  • Spicetify.ContextMenu improvement: Add support for arbitrary nesting levels in context menus (Thanks @vokinpirks)
  • Home Config
  • Podcast new API URL
  • Disable Sentry
  • CSS: Arrow SVG in custom context menus (Thanks @itsmeow)
  • Adds:
  • experimental_features config: Enable ability to activate unfinished or work-in-progress features that would eventually be released in future Spotify updates. Open "Experimental features" popup in Profile menu.
  • Export spicetify version to JS (Thanks @JulienMaille)

New in Spicetify 2.7.2 (Nov 4, 2021)

  • Fixes:
  • Missing context menu (Thanks @itsmeow)
  • SpicetifyDefault theme (Thanks @TheGeeKing)
  • Shuffle+ (Thanks @iurimateus)
  • PushExtensions (Thanks to everyone involved in trying to get this to work!)
  • 1.1.71 React Hooks (Thanks @itsmeow!)
  • Adds:
  • Prettier pipeline for helping with PRs from contributors (Thanks @afonsojramos)
  • Instrumental/Restricted lyrics errors (Thanks @ajiou)

New in Spicetify 2.7.1 (Oct 15, 2021)

  • Fixes:
  • Update css-map.json
  • Heart selector
  • Rare TempDir path issue
  • Adds:
  • Improved MacOS folder structure
  • Action to update AUR and homebrew on tag creation
  • Extension subfiles to Custom Apps
  • First Windows 32-bit release

New in Spicetify 2.7.0 (Oct 1, 2021)

  • Fixes:
  • Lyrics-Plus alignment (Thanks @afonsojramos)
  • Lyrics Plus queue callback (Thanks @itsmeow BEGIN)
  • New Releases/Reddit Card play button
  • Bookmark.js play seeking
  • Shuffle+.js play injection
  • Spicetify.Queue
  • Updates Spicetify.test() to reflect actual contents of Spicetify object
  • Adds additional checks to Spicetify.test() for new contents
  • Spicetify.addToQueue and Spicetify.removeFromQueue
  • Spicetify._sidebarItemToClone, Spicetify.Platform, Spicetify._cloneSidebarItem hooks
  • Removes:
  • BREAKING: Spicetify.PlaybackControl
  • BREAKING: Spicetify.Player.origin2 hook
  • Adds:
  • Hook to disable a call to document.exitPictureInPicture() from the client itself, resulting in popupLyrics.js randomly exiting.
  • Spicetify.Player.playUri(uri, context, options) (replacement for Spicetify.PlaybackControl.playUri)
  • Improves popupLyrics error messaging (Thanks @itsmeow END)
  • GenericModal height control (Thanks @afonsojramos)
  • Whole project formatting (Thanks @afonsojramos)

New in Spicetify 2.6.7 (Sep 30, 2021)

  • Fixes:
  • Karaoke position error on some clients (Thanks @itsmeow)

New in Spicetify 2.6.6 (Sep 24, 2021)

  • Fixes:
  • Lyrics Plus no lyrics screen (Thanks @itsmeow)
  • High CPU usage on fullAppDisplay (Thanks @itsmeow)

New in Spicetify 2.6.4 (Sep 17, 2021)

  • Fixes:
  • Fixed a Player hook in spicetifyWrapper.js (Thanks @TheSolly).
  • Continued work on CSS Mappings (Thanks @TheGeeKing and @CharlieS1103).

New in Spicetify 2.6.3 (Sep 16, 2021)

  • Fixed several React hooks errors due to Spotify's updates (Thanks @itsmeow)
  • Continued work on CSS Mappings (Thanks @TheGeeKing, @itsmeow and @CharlieS1103)

New in Spicetify 2.6.2 (Sep 4, 2021)

  • Configurable blur size to popup lyrics (Thanks @ZT2wo)
  • Minor version tag support for CSS mappings (Thanks @TheGeeKing)
  • CSS Mappings (Thanks @itsmeow)

New in Spicetify 2.6.1 (Sep 1, 2021)

  • Updated CSS Map

New in Spicetify 2.6.0 (Aug 17, 2021)

  • Fixes:
  • Spicetify.ReactComponent.ContextMenu hook
  • Spicetify.ReactComponent.RightClickMenu hook
  • Spicetify.ReactComponent.Menu hook
  • Spicetify.React hook
  • Spicetify.Platform hook
  • Removes disable_sentry hook, meaning it no longer needs to be disabled in the config
  • App React symbol injection

New in Spicetify 2.5.0 (Jun 27, 2021)

  • Change:
  • Custom assets location: in previous version, Spotify allowed us to put assets some extra files supporting theme in "glue-resources" folder and access them via url "https://local_resources_host/". From v1.1.62, the feature was taken away so this location change is to reflect that. Custom assets are now placed in "xpui" and can be accessed directly.
  • Fix:
  • Missing login page
  • home_config and sidebar_config should definitely work stably now. Try them out if you haven't.

New in Spicetify 2.4.0 (Jun 25, 2021)

  • Fix:
  • new-releases: Relative date doesn't save
  • fullAppDisplay: append to body directly instead of video container
  • popupLyrics: script path for worker
  • "appchange" event for Home page
  • sidebar_config: Items overlap with scrollbar
  • Change:
  • Some colors and CSS tunes for SpicetifyDefault theme.
  • Refactor Spicetify.Menu and Spicetify.ContextMenu:
  • Spicetify.ContextMenu.SubMenu no longer has icon parameter.
  • Note for extension makers: All of public interfaces are still the same, some extra method are added. But if you are using internal members, there are some changes internally so you might want to double check.

New in Spicetify 2.3.0 (Jun 22, 2021)

  • Additional option "sidebar_config": Enable ability to arrange and hide items on sidebar.
  • Turn on "Sidebar config" mode in Profile menu (top right button with your username), then hover on sidebar items (not playlists) to show customization buttons.
  • There are 3 regions: Stick, Normal and Hidden. Items in Stick region would stay up top and on top all the time. Items in Normal region would scroll when you scroll on the sidebar.
  • Remember to turn off "Sidebar config" mode after you finish customizing.
  • Additional option "home_config": Enable ability to arrange sections in Home page.
  • Navigate to Home page, turn on "Home config" mode in Profile menu, then hover on sections to show customization buttons.
  • There are 3 regions: Stick, Normal and Lowered. Items in Stick region would stay up top and can be re-arrange. It's useful for some sections you particular like but Spotify somehow put them way too far down. Item in Normal region would stay as they are originally and can't be re-arranged. Items in Lowered region would be pushed to bottom. Put sections you don't like in there.
  • Some sections are always available in Home page. Some sections are more situational and dynamic (e.g: Christmas, genres, ...), their availabilities depend on when Spotify wants them to promote to you. And I have no control over that, so don't report bug when one of your sticky sections disappears.

New in Spicetify 2.2.7 (Jun 20, 2021)

  • Change:
  • Reddit app: display posts as soon as possible, instead of waiting until all post are fetched. Useful for users who live in country with garbage internet like Australia.
  • Lyrics Plus app: scroll to top when track changes (in unsynced and genius mode).
  • Reddit, Lyrics Plus, New Releases app: Move config menu button into Profile menu (top right button with your username).
  • Reddit, Lyrics Plus app: top bar items and sort popup menu should look like native popup menu now.
  • Spicetify.Player.addEventListener: re-add "appchange" event. Please revise global.d.ts for updated documentation.
  • Fix:
  • Lyrics Plus app: colorful background bug
  • Lyrics Plus app: Genius alternative format causes repeated annotation bug
  • Bookmark ext: add bookmark playlist from context menu and bookmark bug from context menu in friends sidebar
  • Shuffle+ ext: multiple track selections shuffle

New in Spicetify 2.2.6 (Jun 6, 2021)

  • Change:
  • Thinner icons for lyrics-plus and new-releases #706 (Thanks @JulienMaille)
  • Pop modal Close button color #707 (Thanks @JulienMaille)
  • Lyrics Plus app: Fallback queries for Genius when title has extra information like "feat." or "Remaster". #703
  • Lyrics Plus app: Genius annotations show underline when hover on #736
  • Fix:
  • Submenu causes crash when user hits a keyboard modifier
  • New Release ext: Podcast fetch cause crash #737
  • Lyrics Plus app: Genius annotation blocked mouse click #714
  • Full App Display ext: Edge case when there is no local file album title, uri #704
  • Tab bar in reddit and lyrics-plus should be more adaptive now. #677

New in Spicetify 2.2.5 (May 30, 2021)

  • Add:
  • Re-add Bookmark extension: Store and access pages, play tracks or tracks in specific time. Useful for who wants to check out an artist, album later without following them or writing their names down. Tracks are context-awared, accessing or playing them will put it to context that it was bookmarked from.
  • Noisy background option for Lyrics Plus
  • Fix:
  • Fatal bug when generating spicetify-config.json #699
  • Login page no longer be modded #697

New in Spicetify 2.2.4 (May 30, 2021)

  • Add:
  • New custom app New Releases: Aggregate all fresh releases from your followed artists and podcasts. Release types filter, time range are customizable via Settings menu. Remember to hit Refresh after configuring.
  • Lyrics Plus:
  • Settings menu: You can customize colors, swap providers priority and input Musximatch token now.
  • Version selector for Genius mode: If there are multiple versions or translations found, just select from drop down menu and it will switch to chosen version.
  • Reddit, New Releases apps' cards can be right clicked to open their context menus now
  • Generate spicetify-config.json file in app folder. It contains current theme name, current color scheme name and all color schemes. #624
  • const spiceConfig = await fetch("spicetify-config.json").then(a => a.json);
  • console.log(spiceConfig.theme_name, spiceConfig.scheme_name, spiceConfig.schemes);
  • Fix:
  • A few bug with Musixmatch and Genius verified annotation in Lyrics Plus
  • Full App Display progress bar length inconsistency #651 Thanks @BluTree
  • Typos in Lyrics Plus #654 Thanks @Kamefrede
  • Webnowplaying info delayed bug when playing on another device
  • Improvement:
  • Shuffle+ fetch playlist, library way faster by using protobuf request.
  • Spicetify.PopupModal can mount a React element as now (check New Release and Lyrics Plus "Settings.js" for example usage)

New in Spicetify 2.2.3 (May 23, 2021)

  • Fix:
  • Patch fix for v1.1.59.714: CSS names should be normal now and other parts rely on translated CSS should work
  • Patch fix for v1.1.56: Mainly for Linux user which Spotify version is still stuck at v1.1.56. All spicetify functionalities should work now.
  • Upgrade spicetify, reinstall Spotify then run spicetify backup apply.
  • Please close your Issue if this version fix your problem.
  • Add:
  • "Lyrics Plus" custom app:

New in Spicetify 2.2.2 (May 19, 2021)

  • Fix:
  • CSS variables for some extensions and reddit app
  • Add:
  • "Patch" function: find and replace app assets for more flexible modification. Define regexp find string and replace string in [Patch] section in config file.

New in Spicetify 2.2.1 (May 18, 2021)

  • Colors names from spicetify v1 are no longer relevant and somewhat misleading to new theme makers. Since themes designed for legacy Spotify are not possible to port over, backward compatibility is out of the table. I decided to completely change them to more accurate and shorter names.

New in Spicetify 2.1.0 (May 15, 2021)

  • Spotify version 1.1.59 recently is rolled out for all users and it not longer contains legacy apps assets. If your Spotify is automatically upgraded and you wish to continue using legacy interface, downgrade using installer from third party source, then turn off auto-update. And you can continue to use spicetify v1.2.1 with community theme, extensions and custom apps support.
  • From v2.0, spicetify only supports new Spotify (v1.1.56 or later). Because of new design infrastructure, all themes made for legacy Spotify are incompatible and nothing I can do about it.
  • Elements and CSS class names are translated to readable and consistent form. You can start making new theme if you want to. Default theme "SpicetifyDefault" included in package consists of various color schemes, try them out and make your own.
  • Spicetify APIs are mostly compatible with previous version. Please revise existing extensions and global.d.ts for updated documentation.
  • Default extensions include in package:
  • autoSkipExplicit.js: Auto skip explicit tracks. Turn on in profile menu.
  • autoSkipVideo.js: Auto skip videos
  • fullAppDisplay.js: Full app artwork display. Access display mode via icon on top bar.
  • Right click while in display mode to open config menu. Double anywhere to close.
  • keyboardShortcut.js: Add a few convenient keyboard shortcut and Vim navigation mode (hit F)
  • loopyLoop.js: Loop over a portion of track. Right click at progress bar to open up menu.
  • NEW:
  • popupLyrics.js: Picture-in-picture window displays lyrics.
  • Click at microphone icon on top bar to open the window. Right click at same icon to open config menu.
  • Turn off service that you're not comfortable to use or not available in your region. Swap their positions to priotise which service to try first.
  • shuffle+.js: True shuffle with no bias.
  • Right click at playlist/album/artist/podcast and choose "Play with Shuffle+".
  • NEW You can turn on "Auto shuffle" to automatically play with shuffle+, no need to right click anymore. Just hit play button while browsing for playlists, albums, shows.
  • NEW By default, Shuffle+ plays artist's top 10 tracks. Turn on "Shuffle artist discography" to play their entire album discography.
  • image
  • trashbin.js: Throw artists and tracks to trash bin and never hear them ever again (automatically skip).
  • Right click at artist or track and choose "Throw to Trashbin" in context menu. You can take them out of trash bin also via right click menu.
  • webnowplaying.js: Specifically made for Rainmeter community. Send track metadata and control player.
  • Custom app: it's still possible to make and inject custom app with spicetify. But app has to built from ground up and app developer has to be familiar with React JS.
  • Previous version default app "reddit" and "genius-spicetify" are not possible to port over at the moment.
  • New config file name is "config-xpui.ini". Please run spicetify -c to know where it is.

New in Spicetify 1.2.1 (Feb 28, 2021)

  • Fix:
  • Lyrics app bug
  • Add:
  • Provide binary package for MacOS ARM-64 platform (M1 chip)

New in Spicetify 1.2.0 (Feb 3, 2021)

  • Add:
  • FullAppDisplay extension: Options to display album title, icons (thanks @JulienMaille), show all artists (@OlegWock) and switch to full screen mode (thanks @diegodalbosco).
  • Full screen mode can be activate with hotkey F11 (thanks @mendelsimon).
  • NewReleases extension: Options to show podcast only and ignore all new release (thanks @yougotwill).
  • Shuffle+ extension: Support for nested folders (thanks @iurimateus).
  • Fix:
  • FullAppDisplay: Undefined artist bug (thanks @kion).
  • FullAppDisplay: Wrong song duration after skipping (thanks @LambArchie).
  • NewRelease: Fix issue when podacast wasn't marked as listened (thanks @OlegWock).
  • Clean up redundant code (thanks @bakesnake).
  • Automatically recognize new Windows Store Spotify location.
  • Stop color command proceeding when there is no theme configured.
  • Ignore fatal error from fetching new spicetify-cli release and proceed.
  • Huge improvement on Vim mode of KeyboardShortcut extensions: Keystroke popups is positioned correctly, play buttons in album pages are now recognised (they used to be hidden and therefore unrecognized by the extension).
  • New extension LoopyLoop: File name: loopyLoop.js
  • Provide ability to mark start and end points on progress bar and automatically loop over that track's portion.

New in Spicetify 1.1.0 (Aug 6, 2020)

  • Command upgrade: automatically fetch and upgrade spicetify to latest release.
  • Config setting check_spicetify_upgrade: notify user whenever there is new spicetify release.
  • It's off by default so please run spicetify config check_spicetify_upgrade 1 to turn on.
  • XDG_CONFIG_HOME support for MacOS
  • Extension bookmark.js: Now store track context. When user open track link, they will be navigated to playlist/album context that track was played from. #233
  • Extension newRelease.js: Now show release type (Album/EP/Single/Episode) #247

New in Spicetify 1.0.2 (Jul 21, 2020)

  • Add:
  • API Spicetify.colorExtractor: More generic version of Spicetify.getAblumArtColor, it accepts all type of URI that have artwork (playlist, album, track, artist, show, ...)
  • Fix:
  • High CPU usage bug