diff --git a/CHANGELOG.md b/CHANGELOG.md index 5dba44b..e6e1fe0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,10 +5,15 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## v0.1.7 + +### Added + +- Archival notice. ### Changed +- Bumped MSRV to 1.79 to access stabilized `std::path::absolute` - Adjusted `github-linguist` statistics, ignoring `.hooks` - Widened `paths-ignore` for `build` and `test` workflows. - Switched release step token to use `secrets.GH_RELEASE_TOKEN`, so the author is bound to `Xevion` instead of `github-actions` (a bot). @@ -29,4 +34,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - [breaking] Lowered MSRV to 1.74 to match `librespot`'s `0.5.0-dev` branch. -- Fixed `pre-commit` hook to properly process the `CARGO_README.md` file. \ No newline at end of file +- Fixed `pre-commit` hook to properly process the `CARGO_README.md` file. diff --git a/Cargo.lock b/Cargo.lock index 626e575..598b259 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1287,7 +1287,7 @@ dependencies = [ [[package]] name = "spotify-quickauth" -version = "0.1.6" +version = "0.1.7" dependencies = [ "env_logger", "futures", diff --git a/Cargo.toml b/Cargo.toml index 341aa87..ef10b6d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "spotify-quickauth" -version = "0.1.6" +version = "0.1.7" edition = "2021" description = "Quickly authenticate librespot-based applications with Spotify" rust-version = "1.79" diff --git a/README.md b/README.md index 7685e34..7e90226 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,11 @@ +> [!IMPORTANT] +> This application is not 'real'; I mostly created it to learn about building a CLI application in Rust with high-end CI/CD pipelines and easy to execute multi-platform scripts. +> Interestingly enough, I never really developed the program itself, just the scripts and the CI/CD pipeline. +> And by the time I was ready to write it, the `spotify-player` project had already solved the [primary issue](https://github.com/aome510/spotify-player/issues/201#issuecomment-2439565162) I was trying to address. +> Thus, I'm archiving this project, as it's no longer necessary. +> +> This project is still pretty cool though in it's own right, with multi-platform ephemeral binaries over `curl` commands, Windows support, Linux MUSL targets (smaller binaries), ARM64 MacOS support, binary deployment to GitHub pages, automatic GitHub release uploads, and a pretty decent README - this project has it all. + # spotify-quickauth [![Build Status](https://github.com/Xevion/spotify-quickauth/workflows/build/badge.svg)](https://github.com/Xevion/spotify-quickauth/actions) @@ -5,8 +13,8 @@ [![Crates.io](https://img.shields.io/crates/v/spotify-quickauth.svg)](https://crates.io/crates/spotify-quickauth) ![Crates.io MSRV](https://img.shields.io/crates/msrv/spotify-quickauth) ![GitHub last commit](https://img.shields.io/github/last-commit/Xevion/spotify-quickauth) - + A simple CLI-based application for creating a `credentials.json` file, used by `librespot` derived applications, such as [spotify-player][spotify-player], [spotifyd][spotifyd], and [raspotify][raspotify]. @@ -24,7 +32,7 @@ curl -sSL https://xevion.github.io/spotify-quickauth/run.sh | sh -s -- The default invocation is likely fine for most users, it will try to understand the available paths for `credentials.json` to be written to, and allow you to select them. ->[!NOTE] +> [!NOTE] > Automatic detection is dependent on the related software being installed and/or relevant configuration files being present. For **Windows**, you can paste this command into PowerShell: @@ -37,8 +45,8 @@ iex (irm "https://xevion.github.io/spotify-quickauth/run.ps1") This application is dead simple to use. Just run the command, and it'll tell you to connect to a fake 'device' in your Spotify interface. ->[!NOTE] -> You must be connected to the same network running `spotify-quickauth`, as the `zeroconf` technology **does not work** across **networks** nor **proxies**. +> [!NOTE] +> You must be connected to the same network running `spotify-quickauth`, as the `zeroconf` technology **does not work** across **networks** nor **proxies**. Once you connect, the credentials file will be created, and you'll be prompted to select which location(s) to place it in. Even if none of the relevant `librespot` applications are detected or installed, you can specify manual locations, or the current working directory. @@ -46,15 +54,15 @@ Once you connect, the credentials file will be created, and you'll be prompted t Installation is not necessary to use this application, but if you're having trouble, want to compile it yourself, or are using it frequently, you might want to install it. ->[!NOTE] ->The scripts above can be given the `-K` or `--keep` flag to keep the downloaded binary. This will prevent repeated API calls to GitHub if you're using the script frequently within a short period. - +> [!NOTE] +> The scripts above can be given the `-K` or `--keep` flag to keep the downloaded binary. This will prevent repeated API calls to GitHub if you're using the script frequently within a short period. ### Pre-built Binaries Binaries are always available for download from the [releases page][latestRelease], and they're the same ones used by the shell scripts above. Currently, the following targets are available for download: + - x64 Linux (MUSL) `x86_64-unknown-linux-musl` - ARM64 Linux (MUSL) `aarch64-unknown-linux-musl` - ARMv7 Linux `armv7-unknown-linux-musleabihf` @@ -67,7 +75,7 @@ Please [file an issue][new-issue] if you are on a platform that is not supported ### Via `cargo-binstall` ->[!NOTE] +> [!NOTE] > If the package cannot be found for your target or fails to be downloaded for any reason, `cargo-binstall` will automatically fall back to building the package from source. `cargo-binstall` is a tool that allows you to install binaries from crates.io without needing to compile them yourself. @@ -78,7 +86,6 @@ cargo binstall spotify-quickauth If you're curious where the binary comes from, `cargo-binstall` will likely pull the binary directly from the [latest release][latestRelease] by this repository, selecting the most appropriate target for your host. - ### Manual Installation If you'd like to use the shell script above to install the binary, you can use the `-S/--stop` flag to prevent the script from running the binary after downloading it. It implicitly applies the `--keep` flag too. @@ -107,8 +114,9 @@ spotify-quickauth --help ``` If you have any troubles building the project + - Make sure you're using a target that's supported by the project (see above). -- Certain targets may require specfic linkers. For example, +- Certain targets may require specfic linkers. For example, [latestRelease]: https://github.com/Xevion/spotify-quickauth/releases/latest/ [spotify-player]: https://github.com/aome510/spotify-player @@ -119,4 +127,4 @@ If you have any troubles building the project [binstall]: https://github.com/cargo-bins/cargo-binstall [quickinstall]: https://github.com/cargo-bins/cargo-quickinstall [binstall-installation]: https://github.com/cargo-bins/cargo-binstall#installation -[new-issue]: https://github.com/Xevion/spotify-quickauth/issues/new \ No newline at end of file +[new-issue]: https://github.com/Xevion/spotify-quickauth/issues/new