Skip to content

Releases

rustunes 0.2.0

Choose a tag to compare

@fbiba fbiba released this 14 Nov 12:32

0.2.0 (2026-11-14)

Features

  • prepare a never-synced iPhone with rustunes init (70a5b58)
  • read and sync a phone on iOS 26 (c2fe564)
  • start the journal of a phone init prepared without a pull (a814b5a)
  • sync a phone that has no iTunesCDB or ArtworkDB (2465fe9)

Bug Fixes

  • accept a coverless representative move in edits and playlist deletions (ea83ba0)
  • read a phone whose Music app cached a played purchase-history track (f059275)
  • read and verify a music library iOS 27.2 built new (86c2256)
  • settle an interrupted run when sync or push runs again (58a9922)
  • spread new tracks over Apple's 50 music folders on a library built new (fda4d29)
  • sync an iPhone that has the Apple TV app installed (3de3e0e)

rustunes 0.1.1

Choose a tag to compare

@fbiba fbiba released this 09 Nov 13:36

0.1.1 (2026-11-09)

Features

  • cli: print zsh and fish completion scripts (2841595)

Bug Fixes

  • accept the phone's own revision changes during a sync (1d98509)
  • box the dispatch future so the binary builds under the query depth limit (#2), thanks @ghorshy

rustunes 0.1.0

Choose a tag to compare

@fbiba fbiba released this 01 Nov 11:39

First public release of rustunes, a command-line tool that syncs music from Linux to the iPhone's built-in Music app, over USB or Wi-Fi. See the README for features, requirements and usage.

Installation

Prebuilt binary (Linux x86_64)

curl -LO https://github.com/fbiba/rustunes/releases/download/v0.1.0/rustunes-0.1.0-x86_64-unknown-linux-gnu.tar.gz
curl -LO https://github.com/fbiba/rustunes/releases/download/v0.1.0/SHA256SUMS
sha256sum -c SHA256SUMS
tar -xzf rustunes-0.1.0-x86_64-unknown-linux-gnu.tar.gz
install -Dm755 rustunes-0.1.0-x86_64-unknown-linux-gnu/rustunes ~/.local/bin/rustunes
rustunes --version

If rustunes --version reports command not found, ~/.local/bin is not on your PATH yet. Add it for your shell:

# bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc

# zsh
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc

# fish
fish_add_path ~/.local/bin

Optionally, install the bash completion:

install -Dm644 rustunes-0.1.0-x86_64-unknown-linux-gnu/completions/rustunes.bash \
  ~/.local/share/bash-completion/completions/rustunes

The binary needs glibc 2.28 or newer.

From crates.io

cargo install --locked rustunes

From source

git clone --branch v0.1.0 https://github.com/fbiba/rustunes.git
cd rustunes
cargo build --release --locked

Building needs Rust 1.89 or newer and a C compiler. See Installation in the README.

Acknowledgements

rustunes uses idevice by Jackson Coxson for pairing, lockdown, AFC and the service connections. Credits, licences and every dependency are listed in ACKNOWLEDGEMENTS.md, and the licences of everything compiled into the binary are in THIRD-PARTY-LICENSES.txt in the tarball.

rustunes is an independent project, not affiliated with, endorsed by or sponsored by Apple Inc.