CHANGELOG
What’s new in junto
Every notable change, newest first. Prefer a feed? Subscribe to the RSS.
Heads up: v1.1.0 changed how file transfers work, so everyone in a room needs to be on the same version. Update with junto update or brew upgrade before your next watch party.
Added
- Watch from a URL: pass a YouTube link (or any site yt-dlp supports) to
junto createinstead of a local file. junto downloads it, caches it in~/.cache/junto, and shares it to friends just like a regular file. Needsyt-dlpandffmpeginstalled.junto doctornow checks for both. junto update: update to the latest release with one command. The binary swaps itself out; Homebrew andgo installbuilds are pointed at the right upgrade command instead.junto uninstall: cleanly remove junto. Add-purgeto also wipe your settings and cache.- Config file: save your nickname, relays, mpv path, and connection settings in
~/.config/junto/config.tomlso you don't retype them every session. Flags still override everything. - Automatic subtitle sharing: if you have a subtitle file next to your video, junto shares it automatically. Everyone gets the same subtitles loaded and in sync, no separate step needed.
- Resumable downloads: quitting mid-session keeps your progress. Rejoining picks up where the download left off instead of starting over.
/ignore <nick>: stop a peer's chat and playback commands from affecting your session./unignoreundoes it./kick <nick>: ask a peer to leave; the rest of the room auto-ignores them. junto can't force anyone off a public relay, so a misbehaving client can decline. That's documented./sync: force a resync to the room's current state if something feels off, without quitting and rejoining.- Richer
/peers: see each person's playback position, how far they've drifted, their download progress, and whether they're buffering or ignored.
Changed
- Much faster file transfers: transfers now stay on a single connection for the whole session instead of rebuilding every 4 MiB. This fixes frequent stalls on HD and 4K files, and seeking no longer causes a reconnect pause.
- More reliable mp4 and mov startup: junto now fetches the right part of the file first, so long films and 4K recordings start up reliably instead of sometimes stalling.
- Faster playback start when joining: streaming joiners see video sooner after running
junto join.
Synchronized playback
- Synced controls: play, pause, seek, speed, subtitle track and delay, and playlist position all mirror to everyone in the room within about a second. No single person is in charge, so there's no single point of failure.
- Readiness gate: the host sees who's loaded and ready ("2/3 ready") and starts the room for everyone with one keypress. Late joiners skip straight to wherever the room is.
- Buffering together: if someone seeks past what they've downloaded, the whole room pauses until everyone has caught up, then starts together.
File transfer and streaming
- Direct peer-to-peer transfer: your files go straight from host to friends. No third party ever touches them, and each transfer is verified.
- Streaming playback: friends start watching within seconds while the file downloads in the background. You don't wait for the whole thing.
- Resumable transfers: a dropped connection picks up from the last byte instead of restarting.
- TURN relay: if a direct connection fails due to strict router settings, you can route through a relay with
-turn. junto tells you exactly what to do when it can't connect directly. - Live progress bar: shows download percent, speed, and time remaining, pinned at the bottom so chat stays readable above it.
Rooms and privacy
- Room codes: a room is a secret you share as a
jun1...code.junto createcopies a ready-to-paste join command to your clipboard. - Encrypted sync messages: all coordination (play, pause, seek) is encrypted before it leaves your machine. The relays passing messages between friends can read none of it. Dropped relays reconnect silently.
Commands
junto createandjunto join: the two commands you need. In-session chat with colored names,/pause,/play,/seek,/speed,/peers,/quit. Errors are plain English, not stack traces.junto doctor: checks everything before you invite anyone, mpv, your internet connection, NAT, and disk space, and prints a fix for whatever fails.junto version: prints your version, commit, and build date.- Binaries for macOS and Linux:
brew install swayam-mishra/tap/juntoinstalls mpv too. Linux builds for amd64 and arm64 on every release.