commit 349833c02c72fb8fbdf6049a3e677b580bb76abb Author: jetfir3 Date: Tue Feb 14 01:16:29 2023 +0000 Initial commit diff --git a/SpotX‐Bash-FAQ.md b/SpotX‐Bash-FAQ.md new file mode 100644 index 0000000..b0d2ac2 --- /dev/null +++ b/SpotX‐Bash-FAQ.md @@ -0,0 +1,341 @@ +- [General Questions](#general-questions) + * [How to use this?](#how-to-use-this) + * [Which platforms and versions does SpotX-Bash support?](#which-platforms-and-versions-does-spotx-bash-support) + * [Will SpotX-Bash ever support other platforms?](#will-spotx-bash-ever-support-other-platforms) + * [Why does SpotX-Bash say "Failed to connect", "Could not be resolved" or other cURL errors?](#why-does-spotx-bash-say-failed-to-connect-could-not-be-resolved-or-other-curl-errors) + * [Why doesn't SpotX-Bash work with my shell?](#why-doesnt-spotx-bash-work-with-my-shell) + * [Does SpotX-Bash provide free Spotify Premium?](#does-spotx-bash-provide-free-spotify-premium) + * [Does SpotX-Bash provide access to lyrics?](#does-spotx-bash-provide-access-to-lyrics) + * [Does SpotX-Bash work on all Spotify updates?](#does-spotx-bash-work-on-all-spotify-updates) + * [Can SpotX-Bash be used with a paid Premium account?](#can-spotx-bash-be-used-with-a-paid-premium-account) + * [Can SpotX-Bash be used in any region?](#can-spotx-bash-be-used-in-any-region) + * [Why are there still ads when using Spotify Connect, AirPlay, Casting, etc?](#why-are-there-still-ads-when-using-spotify-connect-airplay-casting-etc) + * [Are there security concerns with SpotX-Bash?](#are-there-security-concerns-with-spotx-bash) + * [Is SpotX-Bash safe for my account?](#is-spotx-bash-safe-for-my-account) + * [Can SpotX-Bash and Spicetify be used together?](#can-spotX-bash-and-spicetify-be-used-together) + * [Why does SpotX-Bash say "Spotify not found" when Spotify is installed?](#why-does-spotx-bash-say-spotify-not-found-when-spotify-is-installed) + * [Why doesn't SpotX-Bash have "x" feature?](#why-doesnt-spotx-bash-have-x-feature) + * [What is Developer Mode?](#what-is-developer-mode) + * [What is the "old" and "new" UI?](#what-is-the-old-and-new-ui) + * [How can I troubleshoot issues?](#how-can-i-troubleshoot-issues) +- [Linux Questions](#linux-questions) + * [How to install Spotify on my Linux distro?](#how-to-install-spotify-on-my-linux-distro) + * [What is the Spotify/Linux compatibility list?](#what-is-the-spotifylinux-compatibility-list) + * [Is the Snap version of Spotify supported?](#is-the-snap-version-of-spotify-supported) + * [Is NixOS supported?](#is-nixos-supported) +- [macOS Questions](#macos-questions) + * [How to install Spotify on my Mac?](#how-to-install-spotify-on-my-mac) + * [What is the Spotify/macOS compatibility list?](#what-is-the-spotifymacos-compatibility-list) + * [What does codesigning have to do with SpotX-Bash and Spotify?](#what-does-codesigning-have-to-do-with-spotX-bash-and-spotify) + + +# General Questions + +## How to use this? + +In short -- install the Spotify desktop client then run the SpotX-Bash command mentioned in the README. + +Expanding on the directions in the `README.md`... +after installing Spotify on [Linux](#how-to-install-spotify-on-my-linux-distro) or [macOS](#how-to-install-spotify-on-my-mac), `SpotX-Bash` needs to be manually run to add its features to the installed Spotify client. Running the `bash <(curl...` command in the [README.md](https://github.com/SpotX-Official/SpotX-Bash#usage) is recommended since it will always use the latest version of the script, which may be required to support newer Spotify client versions. Snap and NixOS installations work differently and have their own directions in the [Linux Questions](#linux-questions) section below. + +By default, `SpotX-Bash` is for free-tier Spotify users and enables experimental features supported by the installed client version. Paid premium subscribers or those who wish to customize features can use the additional options listed in the [README.md](https://github.com/SpotX-Official/SpotX-Bash#usage). Example commands can be found in the expanded `Options` section of the `README.md`. + +`SpotX-Bash` will need to run each time Spotify is installed, reinstalled or updated. Alternatively, you can keep using the same patched Spotify build for as long as it continues to work. The Linux client does not have its own auto-updater, but your package manager may update it automatically. The macOS client does have an auto-updater built in, but the `SpotX-Bash` option, `-B`, will block it from running. + +## Which platforms and versions does SpotX-Bash support? + +`SpotX-Bash` supports Spotify desktop clients on Linux and macOS. Spotify has disabled `v1.1.58.820` and below, so `v1.1.59.710` is the oldest client version which may still work. + +For Linux, Spotify does not publish system requirements covering every distribution. Generally, if your distro can install and open a compatible Spotify client, `SpotX-Bash` should work. Spotify for Linux is currently built for x86_64 (64-bit) systems only, with no official x86 (32-bit) or ARM/ARM64 desktop builds. + +For macOS, due to versions `v1.1.58.820` and below being disabled by Spotify, OS X 10.10 and below no longer support an official working Spotify desktop client. OS X 10.11+ is required. + +While `SpotX-Bash` may work with older clients, the focus is always the latest supported official client. Spotify `v1.2.13.661` or newer is recommended when possible. For a lighter client or older operating system, `1.1.84.716` or `1.1.89.862` may be useful. + +## Will SpotX-Bash ever support other platforms? + +No, `SpotX-Bash` will only support Linux and macOS. [SpotX](https://github.com/SpotX-Official/SpotX) is available for Windows, [xManager](https://github.com/Team-xManager/xManager) is available for Android and [SpotC](https://github.com/SpotCompiled/) lists various options for iOS. + +## Why does SpotX-Bash say "Failed to connect", "Could not be resolved" or other cURL errors? + +This error is not directly caused by `SpotX-Bash`, but by an issue somewhere between GitHub's servers and your computer/network. + +- Some ISPs and networks block `raw.githubusercontent.com` or `github.io` +- cURL is unable to verify the SSL certificate +- GitHub may be having server issues +- URL used may have a typo + +Because blocking of `raw.githubusercontent.com` has become more common, `github.io` is now the default URL mentioned in the README. Either URL can be used if one is not working or you simply prefer the other. + +- github.io: +``` +bash <(curl -sSL https://spotx-official.github.io/run.sh) +``` +- raw.githubusercontent.com: +``` +bash <(curl -sSL https://raw.githubusercontent.com/SpotX-Official/SpotX-Bash/main/spotx.sh) +``` +For certificate-related errors, adding `-k` to the curl arguments (`curl -k -sSL https...`) may bypass the error, however, resolving the SSL/certificate issue is recommended. + +The `spotx.sh` file can also be downloaded from the repo and run locally. It will do the same thing as the Bash/cURL commands above and can be used without an internet connection. Keep in mind that `SpotX-Bash` is regularly updated to support new Spotify versions, so an older local copy may need to be replaced when Spotify is updated. + +## Why doesn't SpotX-Bash work with my shell? + +The default recommended `SpotX-Bash` command in the [README.md](https://github.com/SpotX-Official/SpotX-Bash#usage) assumes the use of a Bash-compliant shell. + +Shells which are not Bash-compliant may have issues with the recommended `SpotX-Bash` `bash <(curl...` command format. Refer to your shell documentation for the suggested handling of process substitution. + +Below are two examples of a "more universal" format which may work with your shell. When using additional options, `-s --` will need to precede all `SpotX-Bash` options. + +**Example w/o options:** +``` +curl -sSL https://spotx-official.github.io/run.sh | bash +``` +**Example w/options:** +``` +curl -sSL https://spotx-official.github.io/run.sh | bash -s -- -cfh +``` + +## Does SpotX-Bash provide free Spotify Premium? + +No, `SpotX-Bash` blocks ads and may enable some normally restricted client settings. Premium features such as _**Very High**_ audio, group session listening, AI DJ, AI playlists, music downloading and offline playback require a paid Premium subscription. + +## Does SpotX-Bash provide access to lyrics? + +Spotify currently provides lyrics to both Free and Premium users, although availability can still vary by song, account, region, device and client version. This is controlled by Spotify and its lyrics provider, not by `SpotX-Bash`. + +`SpotX-Bash` can change the lyrics background color with the `-l` option, but it cannot add missing lyrics or unlock lyrics when Spotify's servers do not provide them. See [Spotify's lyrics support page](https://support.spotify.com/article/lyrics/) for current availability. + +## Does SpotX-Bash work on all Spotify updates? + +`SpotX-Bash` needs to run each time Spotify is installed, reinstalled or updated. Just as new Spotify updates are released, updates to the `SpotX-Bash` script are needed to continue working as expected. A brand new Spotify update may not yet work with the current SpotX-Bash version -- check the latest supported Spotify client version mentioned at the top of the repo [README.md](https://github.com/SpotX-Official/SpotX-Bash/#readme) to confirm `SpotX-Bash` will support your client version. + +For Linux users, the Spotify client does not update itself via in-app update services and depends on the specific package manager or installation method used. + +For macOS users, the Spotify client has an in-app updater and will update itself automatically when a new version is available. `SpotX-Bash` has the option to block updates and/or install the latest supported (or a previous) Spotify version then patch it after installation -- it is recommended to install Spotify and block updates using `SpotX-Bash` so the Spotify client never auto-updates itself to a version not yet supported by `SpotX-Bash`. + +## Can SpotX-Bash be used with a paid Premium account? + +Yes, `SpotX-Bash` supports Premium-tier users and should be run with the `-p` flag to skip the usual modifications done for free-tier users. + +## Can SpotX-Bash be used in any region? + +`SpotX-Bash` itself is not region-limited, but Spotify accounts, plans and features can vary by market. `SpotX-Bash` cannot change the country attached to an account or bypass regional restrictions controlled by Spotify. + +**Using Spotify outside of its officially supported regions is outside the scope of this project.** + +## Why are there still ads when using Spotify Connect, AirPlay, Casting, etc? + +When using any of these methods to play audio/video, the media is no longer coming from the desktop client and, instead, is being controlled by the Spotify API outside of the modified client. Since `SpotX-Bash` only modifies the desktop client and not your actual Spotify account, ads cannot be blocked when audio/video is not coming directly from the modified desktop client. Yes, you may be using the desktop client to control the play/pause/stop/skip functions while the audio/video is on another device, but the audio/video itself is no longer sourced from the desktop client where `SpotX-Bash` has made the modifications. + +## Are there security concerns with SpotX-Bash? + +There are no known security issues specific to `SpotX-Bash`. The script is only intended to patch the local Spotify client and does not collect or send user data to this project. Everything it does can be reviewed in this repository. + +As with any script that modifies installed applications, only run a copy downloaded from the official repo and review the code if you have concerns. The Snap helper requires `sudo` so it can preserve file ownership, rebuild the Snap package and install it through snapd. If an unintended security issue is discovered, it can be privately reported using GitHub's [security advisory form](https://github.com/SpotX-Official/SpotX-Bash/security/advisories/new). + +## Is SpotX-Bash safe for my account? + +There are no known instances of users losing their Spotify accounts specifically because of `SpotX-Bash`, but Spotify may still object to ad blocking. `SpotX-Bash` does nothing related to copying, downloading or ripping music. Its only goal is to remove ads and enable official client features which may not always be available by default because of Spotify's A/B testing. Use it at your own risk and review Spotify's terms for your region. + +## Can SpotX-Bash and Spicetify be used together? + +Technically, yes. If using both `SpotX-Bash` and Spicetify, it is required to run `SpotX-Bash` before setting up Spicetify. Any issues appearing after setting up Spicetify is outside the scope of this project/repo and issues should **not** be reported here. + +Using both together is not officially supported by either SpotX or Spicetify, so users choosing to combine them will need to handle any resulting issues themselves. + +## Why does SpotX-Bash say "Spotify not found" when Spotify is installed? + +In some cases, `SpotX-Bash` may be unable to find where Spotify is installed. For these situations, the `-P [path]` option can be used with the usual `SpotX-Bash` command. + +_For Linux_ -- `SpotX-Bash` should auto-detect installations from APT/dpkg, Flatpak (user or system), pacman/AUR, RPM Fusion and spotify-launcher. If an installation is not detected, use the `-P [path]` option and point it to the Spotify directory containing the main `spotify` executable and `Apps` folder. Snap users should run `spotx-snap.sh` instead of setting a path manually. + +For example, if using the standard Flatpak installation of Spotify and the spotify executable is located at `/var/lib/flatpak/app/com.spotify.Client/x86_64/stable/active/files/extra/share/spotify/spotify` then you would add `-P /var/lib/flatpak/app/com.spotify.Client/x86_64/stable/active/files/extra/share/spotify/` to the `SpotX-Bash` command and the installation should be found. + +Flatpak user installations default to: `$HOME/.local/share/flatpak/app/com.spotify.Client/x86_64/stable/active/files/extra/share/spotify/` + +deb installations via APT or dpkg default to: `/usr/share/spotify/` + +AUR installations default to: `/opt/spotify/` + +spotify-launcher installations default to: `$HOME/.local/share/spotify-launcher/install/usr/share/spotify` + +RPM installations default to: `/usr/share/spotify-client/` + +_For macOS_ -- use the full path where `Spotify.app` is located. Default path for all macOS apps is in the /Applications/ directory. +For example, if `Spotify.app` is located at `/Applications/MyStuff/Spotify.app`, add `-P /Applications/MyStuff/` to the `SpotX-Bash` command. + +## Why doesn't SpotX-Bash have "x" feature? + +The goal of `SpotX-Bash` is blocking ads and enabling official experimental features. + +Customization beyond this is outside the scope of this project. Additionally, the goal is to always support the latest available Spotify client versions whenever possible therefore older Spotify versions may not always work with or be fully supported by the current script version. + +Feature availability also depends on the installed client version, and Spotify changes things all the time. See the [Spotify Desktop Client Version Timeline](https://github.com/SpotX-Official/SpotX-Bash/wiki/Spotify-Desktop-Client-Version-Timeline) for details on some of the changes between versions. + +## What is Developer Mode? + +`Developer Mode` enables additional features built into the Spotify desktop client which are normally hidden for regular users. For example, since Spotify is built to use the [Chromium Embedded Framework](https://www.spotify.com/opensource/), the same "Developer Tools" built into Chrome/Chromium become available. Additional features include the `Debug Window` which allows granular controls of many Spotify experimental settings normally controlled by Spotify's `Remote Config` (or by `SpotX` / `SpotX-Bash`). + +Developer Mode exposes many settings which should probably be left alone unless you know what they do or do not mind temporarily breaking your Spotify setup. If something stops working after changing the wrong setting, clearing Spotify's app cache with `-c`/`--clearcache` will usually reset those customizations. + +To get to various `Developer Mode` menus/settings once it's been enabled: +- right-click in various areas of the app to reveal additional menus +- select the `Develop` menu added to the Spotify toolbar (macOS only) +- click your Spotify user icon > select Debug Window from the drop down menu + +The `SpotX-Bash` developer mode is "permanent" and will be enabled until you upgrade/downgrade/reinstall the Spotify app. +`SpotX-Bash` supports developer mode in versions `1.1.84.716` and up. Versions newer than what `SpotX-Bash` officially supports may not work. + +A script for _temporary_ `Developer Mode` can be found [here](https://gist.github.com/jetfir3/d66f491d0683e2bdbdf9f60068e9984b). The advantage of the temp script is that it supports nearly all working Spotify builds, both old and new. The "downside" to the script is that dev mode is temporary and likely to only work until you quit Spotify. To access dev mode again, the script would need to be used each time. Changes you've made to experimental features while in dev mode will stick regardless of whether dev mode is currently enabled or not. + +## What is the "old" and "new" UI? +The "old" theme was the default UI that Spotify users should be familiar with if they used the desktop or web clients from 2021-2023 (and possibly earlier). In early 2021 the desktop and web clients [merged code bases and started using the same UI](https://engineering.atspotify.com/2021/04/building-the-future-of-our-desktop-apps/). While in 2021 that UI may have been new, in 2023 it has become what we now call the "old" UI. In mid-2022, Spotify started experimenting with some search bar changes. Towards the end of 2022 they were testing a new left sidebar and in 2023, a new right sidebar. The [updated left/right sidebars](https://newsroom.spotify.com/2023-06-20/spotify-desktop-experience-redesign-your-library-now-playing-views-customize/) are what we are calling the "new" UI. + +From late 2022 through mid-2023, both the old and new UIs were available in the app and could be controlled via Spotify A/B testing (or through dev mode and mods like SpotX/etc). But starting with v1.2.14.x, the "old" UI was removed from the client and no longer an option. Spotify v1.2.13.661.ga588f749 is the last version which could use the "old" UI. + +If a user sets the `-o` option with v1.2.14+, `SpotX-Bash` will report that the detected client version no longer supports the old UI and then continue running the rest of the script. Users who prefer the "old" look should use v1.2.13.661.ga588f749 or earlier and avoid updating the client. Mac users can have `SpotX-Bash` block Spotify's built-in auto-updates. Linux users will need to review the update settings for their package manager or installation method. + +## How can I troubleshoot issues? + +Ideally, most issues should be unrelated to `SpotX-Bash` directly and, instead, are issues between Spotify itself and the computer it's installed on. To rule out `SpotX-Bash` issues, a full uninstall of Spotify and reinstallation of Spotify (without applying `SpotX-Bash`) should be attempted to confirm where the issue starts. All tests should be conducted on the exact same desktop client version to avoid missing Spotify version-specific bugs which may get blamed on `SpotX-Bash`. + +Snap users can run `bash spotx-snap.sh --restore` to return to the official store-managed client before testing. If the Snap Store has moved to a newer Spotify version, keep that version difference in mind while comparing results. + +See the [TROUBLESHOOTING](https://github.com/SpotX-Official/SpotX-Bash/wiki/Troubleshooting) section of the wiki for more info. + +# Linux Questions + +## How to install Spotify on my Linux distro? + +Spotify officially provides a [Snap package and Debian/Ubuntu repository](https://www.spotify.com/download/linux/). The main `spotx.sh` script can patch Debian, Flatpak, RPM, AUR/pacman, spotify-launcher and other regular Linux installations after Spotify has been installed. Snap and NixOS installations are also supported, but require their dedicated methods described below. + +You can visit Spotify's [Linux download page](https://www.spotify.com/download/linux/) for Debian / Ubuntu / APT-based instructions or use SpotX-Bash to install the APT-based client variant. While SpotX-Bash will only _install_ the DEB Spotify client on APT-based distros, it can still patch other distro/client variants after the user first installs Spotify. + +Testing branch: +``` +bash <(curl -sSL https://spotx-official.github.io/run.sh) --installdeb +``` +Stable branch: +``` +bash <(curl -sSL https://spotx-official.github.io/run.sh) --installdeb --stable +``` + +Other distros and client variants have their own installation methods, many of which repackage Spotify's official Snap or DEB. Some common options are listed below. Unless using the included Snap helper or SpotX-Nix, it is generally the user's job to install a working Spotify client and `SpotX-Bash`'s job to patch it afterward. + +- [Flatpak](https://flathub.org/apps/com.spotify.Client) is a distro-neutral installation method, the Spotify install is based on the Spotify snap file with some additional patches applied. +- Red Hat/Fedora-based distros using RPM-based installations can use [RPM Fusion](https://docs.fedoraproject.org/en-US/quick-docs/installing-spotify/#_using_the_rpm_fusion_repository) repos. +- Arch-based users can install using [AUR/pacman/spotify-launcher](https://wiki.archlinux.org/title/spotify). + +## What is the Spotify/Linux compatibility list? + +Spotify does not publish a simple Linux compatibility list. Its official Linux packages are currently built for x86_64 (64-bit) systems and intended for reasonably current Debian/Ubuntu releases. Other distributions repackage those official builds and may have different dependency or desktop-integration requirements. + +In general, if the unmodified Spotify client can be installed and opened normally, `SpotX-Bash` should be able to patch it. Client version `1.1.59.710` or newer is required, with newer supported versions recommended whenever possible. + +## Is the Snap version of Spotify supported? + +Yes. Snap packages are read-only images, so they cannot be patched in place by the normal `spotx.sh` command. The included `spotx-snap.sh` helper handles the additional unpacking, patching, rebuilding and installation steps. + +Download the repo so `spotx-snap.sh` and `spotx.sh` remain together, then run the helper: +``` +git clone https://github.com/SpotX-Official/SpotX-Bash.git +cd SpotX-Bash +bash spotx-snap.sh +``` + +Unlike the usual SpotX-Bash command, `spotx-snap.sh` should not be run through `bash <(curl...)`; it requires a local copy of `spotx.sh` in the same directory. + +By default, the helper uses the currently installed official Spotify Snap as its clean source. After the first run, it keeps a clean copy in `$HOME/.cache/spotx-bash/snap` so the same version can be rebuilt later. It can also download Spotify from the Snap Store with `--download` or use a specific file with `--snap-file [path]`. + +Snap Store downloads and files supplied with `--snap-file` are checked to confirm they match an official Spotify Snap. A modified or unrelated Snap will be rejected. The `--allow-unverified` option is available for advanced users who intentionally want to use a source which cannot be verified, but those files are not added to the clean-source cache. + +The rebuilt SpotX Snap is installed locally and will show a revision such as `x1` instead of a normal store revision. Local Snap files do not receive Spotify's automatic Snap Store updates. Re-run `spotx-snap.sh` whenever you want to rebuild/update it, or return to the official store-managed Spotify Snap with: +``` +bash spotx-snap.sh --restore +``` + +Restoring reconnects Spotify to the `latest/stable` channel and its normal automatic updates. `--uninstall` does the same thing as `--restore`: it removes the SpotX version while keeping Spotify installed. Rebuilding or restoring normally keeps Spotify's user data and login, while `snap remove --purge spotify` intentionally removes them. + +Use `--build-only` to create a patched Snap without installing it; `--output-dir [path]` can select where it is saved. + +**Snap helper options:** + +| Option | Description | +| --- | --- | +| `--download` | download a clean Spotify Snap from the Snap Store | +| `--channel [channel]` | use the `stable`, `candidate`, `beta` or `edge` channel with `--download` | +| `--snap-file [path]` | use a specific local Spotify Snap | +| `--allow-unverified` | allow an unverifiable Snap set with `--snap-file`; intended for advanced users | +| `--build-only` | create a patched Snap without installing it | +| `--output-dir [path]` | set where the patched Snap is saved when using `--build-only` | +| `--restore` | restore the official store-managed Spotify Snap | +| `--uninstall` | same as `--restore`; Spotify and its user data remain installed | +| `--help` | show the complete Snap helper options | + +**Examples:** + +Patch the currently installed Spotify Snap: +``` +bash spotx-snap.sh +``` +Download, patch and install the stable Spotify Snap: +``` +bash spotx-snap.sh --download +``` +Download and build a patched Snap without installing it: +``` +bash spotx-snap.sh --download --build-only --output-dir "$HOME/Downloads" +``` +Use a specific official Spotify Snap: +``` +bash spotx-snap.sh --snap-file "$HOME/Downloads/spotify.snap" +``` +Restore the official store-managed Spotify Snap: +``` +bash spotx-snap.sh --restore +``` + +The helper and a clean Spotify source can be used without an internet connection. Internet access is only required when using `--download`, retrieving verification information which is not already available locally, restoring Spotify from the Snap Store or installing missing Snap dependencies on a new system. Run `bash spotx-snap.sh --help` to see all helper options. Regular SpotX-Bash options such as `-d`, `-h`, `-l` and `-p` can be passed to the helper as usual. + +## Is NixOS supported? + +Yes. NixOS keeps installed packages in the read-only `/nix/store`, so directly modifying an existing Spotify installation is not the right approach. [SpotX-Nix](https://github.com/SpotX-Official/SpotX-Nix) applies SpotX-Bash while the Spotify package is being built and produces a separate `spotify-spotx` package. + +Follow the directions in the SpotX-Nix README to add it to a NixOS or Home Manager configuration. The main `spotx.sh` command should not be run against a package inside `/nix/store`. NixOS users who do not want to use a Nix package can still use Spotify's Flatpak version as an alternative. + +# macOS Questions + +## How to install Spotify on my Mac? + +Spotify's official download page can be found [here](https://www.spotify.com/download/other/). + +`SpotX-Bash` has the option to download and install the official Spotify desktop client, downloaded directly from Spotify's CDN. You can use the `--installmac` option or enable interactive mode (`-i`) to have `SpotX-Bash` download and install the latest `SpotX-Bash`-supported Spotify version or use `-V [version]` option while specifying a version number to choose a previous Spotify version. After `SpotX-Bash` downloads and installs Spotify it will continue with the usual patches it performs on the installed client. + +The following command installs the latest available version for your OS: +``` +bash <(curl -sSL https://spotx-official.github.io/run.sh) --installmac +``` +The following command installs a specific version (1.2.20.1218 is used as an example): +``` +bash <(curl -sSL https://spotx-official.github.io/run.sh) -V 1.2.20.1218 +``` + +## What is the Spotify/macOS compatibility list? + +Spotify's current desktop client officially requires macOS 12 or newer. Older Spotify builds can still be useful on earlier macOS versions, and `SpotX-Bash` keeps support for those compatible versions where possible. + +Spotify has disabled `v1.1.58.820` and below, so OS X 10.11 is the oldest version which can still run a working Spotify desktop client. + +The last version of Spotify to work with OS X 10.11/macOS 10.12 is `1.1.89.862`. +The last version of Spotify to work with macOS 10.13/10.14 is `1.2.20.1218`. +The last version of Spotify to work with macOS 10.15 is `1.2.37.701`. +The last version of Spotify to work with macOS 11 is `1.2.66.447`. + +Using `--installmac`, SpotX-Bash will automatically select the latest supported version compatible with your operating system. + +## What does codesigning have to do with SpotX-Bash and Spotify? + +`SpotX-Bash` patches the client in various ways to enable its features. Depending on your version of macOS and your specific security settings related to macOS Gatekeeper and System Integrity Protection, modifying the client may cause various macOS protections to trigger and not launch the app. To bypass this potential issue, `SpotX-Bash`, by default, uses codesign to re-sign the Spotify desktop app after `SpotX-Bash` has modified it which should then make macOS "happy" and launch the modified app without issue. + +You can read a more detailed breakdown of this information in the [Discussions section](https://github.com/SpotX-Official/SpotX-Bash/discussions/3) of this repo. diff --git a/Spotify-Desktop-Client-Version-Timeline.md b/Spotify-Desktop-Client-Version-Timeline.md new file mode 100644 index 0000000..b164669 --- /dev/null +++ b/Spotify-Desktop-Client-Version-Timeline.md @@ -0,0 +1,53 @@ + * [v1.2.37.701](#v1237701) + * [v1.2.33.x](#v1233x) + * [v1.2.32.x](#v1232x) + * [v1.2.26.x](#v1226x) + * [v1.2.24.x](#v1224x) + * [v1.2.20.1218](#v12201218) + * [v1.2.14.x](#v1214x) + * [v1.2.7.1277](#v1271277) + * [v1.2.5.1006](#v1251006) + * [v1.1.89.862](#v1189862) + * [v1.1.86.857](#v1186857) + * [v1.1.66.578](#v1166578) + * [v1.1.59.710](#v1159710) + +## v1.2.37.701 +- The last version of Spotify to work with macOS 10.15. + +## v1.2.33.x +- [Canvas videos](https://artists.spotify.com/canvas) added to client + +## v1.2.32.x +- Chrome runtime enabled + +## v1.2.26.x +- [Enhance button](https://newsroom.spotify.com/2021-09-09/get-perfect-song-recommendations-in-the-playlists-you-create-with-enhance/) has been removed completely. The shift to [Smart Shuffle](https://newsroom.spotify.com/2023-03-08/smart-shuffle-new-life-spotify-playlists/) is complete. + +## v1.2.24.x +- The right sidebar is no longer an experimental feature which can be toggled on/off, it is now permanent. + +## v1.2.20.1218 +- The last version of Spotify to work with macOS 10.13/10.14. + +## v1.2.14.x +- The "[old UI](https://engineering.atspotify.com/2021/04/building-the-future-of-our-desktop-apps/)" has been removed completely. The "[new UI](https://newsroom.spotify.com/2023-06-20/spotify-desktop-experience-redesign-your-library-now-playing-views-customize/)" with left and right sidebars is now the default (and only) UI. + +## v1.2.7.1277 +- The first official/stable x64 build for Windows. + +## v1.2.5.1006 +- The last version of Spotify to work with Windows 7, 8 and 8.1. + +## v1.1.89.862 +- The last version of Spotify to work with OS X 10.11 and macOS 10.12. + +## v1.1.86.857 +- The first official/stable ARM64 build for Windows. + +## v1.1.66.578 +- The first official/stable ARM64 build for macOS. + +## v1.1.59.710 +- The oldest official Spotify client that still works (for now). As of May 2023, Spotify has disabled all prior client versions. OS X 10.10 and below are now cut off and can no longer use the official desktop client. + diff --git a/Troubleshooting.md b/Troubleshooting.md new file mode 100644 index 0000000..d9d4f26 --- /dev/null +++ b/Troubleshooting.md @@ -0,0 +1,86 @@ +While SpotX-Bash is not responsible for Spotify or computer issues, having a troubleshooting guide can help reduce issues reported to the repo. +Use the following checklist when troubleshooting Spotify issues: + + * [1. Close/Restart the Spotify app](#closerestart-the-spotify-app) + * [2. Reboot computer](#reboot-computer) + * [3A. Uninstall Spotify and app/cache data](#uninstall-spotify-and-appcache-data) + * [3B. Uninstall Spotify and app/cache data (automated script)](#uninstall-spotify-and-appcache-data-automated-script) + * [4. Change Spotify version](#change-spotify-version) + * [Official Spotify Support Communities and FAQ](#official-spotify-support-communities-and-faq) + + +## Close/Restart the Spotify app + +Closing and restarting the Spotify app can sometimes help solve some issues. +This should always be attempted before trying anything else. + + +## Reboot computer + +Reboot the computer before attempting to uninstall/reinstall Spotify or delete any files. + + +## Uninstall Spotify and app/cache data + +If restarting Spotify and computer didn't resolve the error/issue, fully uninstalling then reinstalling Spotify should be attempted. +The same app version should also be used so that testing before and after the uninstall is consistent. + +Unfortunately, Spotify for Linux and macOS does not have a built-in uninstaller. +The following details outline how to completely uninstall Spotify from the computer: + +**For Linux:** +- Use the app/package manager or the uninstall method for the installation method used when installing Spotify +- Delete the app and cache data which, by default, is in the following directories: +`$HOME/.cache/spotify` +`$HOME/.config/spotify` +- Once all is deleted, reinstall Spotify (not `SpotX-Bash`), sign in and see if the error/issue persists +- If issue persists, check the [Official Spotify Support Communities and FAQ](#official-spotify-support-communities-and-faq) +- If the error/issue is gone, re-apply `SpotX-Bash` +- If the error/issue returns after re-applying `SpotX-Bash`, this may be a `SpotX-Bash` issue. Confirm your Spotify version is supported by `SpotX-Bash` and check [all previous issues](https://github.com/SpotX-Official/SpotX-Bash/issues?q=is%3Aissue) before submitting an issue. + +**For macOS:** +- Delete the Spotify.app (by default, apps are located in /Applications) +- Delete the Spotify app and cache data which is in the following directories: +`$HOME/Library/Application Support/Spotify` +`$HOME/Library/Caches/com.spotify.client` +- Once all is deleted, reinstall Spotify (not `SpotX-Bash`), sign in and see if the error/issue persists +- If issue persists, check the [Official Spotify Support Communities and FAQ](#official-spotify-support-communities-and-faq) +- If the error/issue is gone, re-apply `SpotX-Bash` +- If the error/issue returns after re-applying `SpotX-Bash`, this may be a `SpotX-Bash` issue. Confirm your Spotify version is supported by `SpotX-Bash` and check [all previous issues](https://github.com/SpotX-Official/SpotX-Bash/issues?q=is%3Aissue) before submitting an issue. + + + +## Uninstall Spotify and app/cache data (automated script) + +If restarting Spotify and your computer did not resolve the issue, fully uninstalling then reinstalling Spotify should be attempted. +The same app version should also be used so that testing before and after the uninstall is consistent. + +Unfortunately, Spotify for Linux and macOS does not have a built-in uninstaller but the following script will automatically find and delete the Spotify app + app/cache data. + +In terminal run and follow any on-screen prompts if asked: +``` +bash <(curl -sSL https://gist.github.com/jetfir3/f620e44fc246c1bed45ed040bbfa2d68/raw/uninstallify.sh) +``` +- Once all is deleted, reinstall Spotify (not `SpotX-Bash`), sign in and see if the error/issue persists +- If issue persists, check the [Official Spotify Support Communities and FAQ](#official-spotify-support-communities-and-faq) +- If the error/issue is gone, re-apply `SpotX-Bash` +- If the error/issue returns after re-applying `SpotX-Bash`, this may be a `SpotX-Bash` issue. Confirm your Spotify version is supported by `SpotX-Bash` and check [all previous issues](https://github.com/SpotX-Official/SpotX-Bash/issues?q=is%3Aissue) before submitting an issue. + + +## Change Spotify version + +If fully uninstalling and reinstalling Spotify did not remove the error/issue and it was not caused by `SpotX-Bash` then it's possible that the specific version of Spotify is responsible. Trying an older or newer version may help. Check the [Official Spotify Support Communities and FAQ](#official-spotify-support-communities-and-faq) to see if others have reported similar issues. + + +## Official Spotify Support Communities and FAQ + +If the issue is not related to `SpotX-Bash`, use the official support pages to see if your issue has been reported or to report the issue yourself. + +[Spotify Linux Desktop Support](https://community.spotify.com/t5/Desktop-Linux/bd-p/desktop_linux) +[Spotify macOS Desktop Support](https://community.spotify.com/t5/Desktop-Mac/bd-p/desktop_mac) +[Spotify 'Ongoing Issues' Support](https://community.spotify.com/t5/Ongoing-Issues/idb-p/ongoing_issues) +[Spotify 'Ongoing Issues' Under Investigation](https://community.spotify.com/t5/Ongoing-Issues/idb-p/ongoing_issues/status-key/Under_investigation) +[Spotify Help Search](https://community.spotify.com/t5/Help/ct-p/Help) +[Spotify FAQs](https://community.spotify.com/t5/FAQs/tkb-p/Spotify-Answers) + +