What’s new in Upstream

Every release since Upstream arrived on the Mac App Store — what changed, and why. Upstream is actively developed: version 1.5 shipped on 28 September 2026.

Version 1.5 Latest

Buckets, auto-upload and a free start

Upstream 1.5 opens S3 buckets next to your servers, uploads what you save on its own, and moves SSH keys and site import into the free tier — so the first minute with the app is the one where it already works.

Cloud storage (FULL)

  • Amazon S3, Backblaze B2, Cloudflare R2, Wasabi and MinIO: buckets open as folders in the same two panes as your servers, with the queue, sync and auto-upload.
  • Large files upload in parts, downloads resume, and renaming a folder happens on the server.

Auto-upload on save (FULL)

  • Turn it on and work in your local folder: every file you save goes up to the server on its own, through the transfer queue. Temporary editor files and your .syncignore rules are respected. Nothing is ever deleted on the server.

Info panel

  • Option-Command-I opens a panel with the preview and details of the selection: images, code, permissions, owner, public URL.
  • Edit Here: fix a line in a text file without leaving the window. Straight quotes stay straight.

Batch rename (FULL)

  • Find and replace (also with regular expressions), prefix, suffix, numbering, letter case and extension, with a live preview. Conflicts block the rename instead of overwriting a file.

Free for everyone

  • SSH key authentication.
  • Importing sites from FileZilla and ~/.ssh/config, including keys and jump hosts. A welcome screen on first launch walks you through it.
  • Quick Connect now speaks SFTP and FTPS, not only plain FTP.

Try FULL

  • A free 7-day trial of everything in FULL. No charge and nothing renews.

FTPS

  • Works with servers that require TLS session reuse on the data connection (the default of vsftpd and FileZilla Server): before, you could log in but not list or transfer.

And more

  • Speed and time left for every transfer and for the whole queue, and the number of active transfers on the Dock icon.
  • Shortcuts: “Upload Files to Site” and “Open Site”, also as Finder Quick Actions. sftp://, ftps:// and ftp:// links open in Upstream.
  • A cleaner main window: the home uses the whole width when you are not connected, and the toolbar follows the new macOS design.

Version 1.4

Move files on the server, keep their dates

Upstream 1.4 is about moving files around a server without moving bytes, keeping modification dates intact, and a folder sync that tells you the truth about what it is going to do.

Moving files

  • Drag a file or a folder onto any sub-folder to move it. It happens on the server: no bytes travel, so the dates cannot be lost.
  • Drag onto the path bar to move something up a level, or into a sibling folder.
  • Cut, Copy and Paste (⌘X, ⌘C, ⌘V) in both panes, on whole selections.
  • “Move to…” and “Copy to…” open a folder picker that reaches anywhere on the server, including folders you have never visited.
  • Copying uses the server’s own copy where it exists. Where it does not, Upstream says so before you start, rather than quietly using twice your bandwidth.
  • A folder can no longer be dropped inside itself, and a name that is already taken asks what to do instead of overwriting in silence.

Dates

  • Downloads and uploads keep the file’s original modification date instead of stamping it with the time of the transfer — in the queue, in drag and drop, and in edit-with-auto-upload.
  • Servers that cannot set dates are detected and reported.

Folder sync — reliability

  • On SFTP, uploads now carry the modification date across. They never did, and silently, which made “Size + date” see every file as changed, for ever.
  • An unreadable remote folder is now an error instead of “the folder is empty”. With mirror mode on, that difference was a proposal to delete everything.
  • A mirror that would empty the destination is stopped and explained, and deletions are never pre-ticked in the plan.
  • Files with accented names are no longer sent to a path the server does not have: each side keeps its own spelling.
  • The summary says what was transferred, what failed and what is still pending.

Folder sync — speed and clarity

  • The preview no longer walks into .git and node_modules on the server. On a typical web project this is the difference between minutes and seconds.
  • Queuing thousands of files no longer freezes the app, and both the scan and the run show what they are doing and can be stopped.
  • Saved pairings: a local folder, a remote folder and the options under one name. “Repeat Last Sync” is in the command palette and the Transfers menu.
  • Warnings where there used to be silence: deletions do not travel in two-way mode, remote names differing only in case collide on your Mac, and remote symlinks are skipped.

Version 1.3

An interface you read at a glance

Upstream 1.3 is the release you notice before you use it. The app was never short on features — it was short on air. Every surface has been rebuilt around one idea: an interface you read at a glance instead of squinting at.

A look that breathes

  • Bigger text everywhere. Nothing on screen is smaller than 11 points any more, and the protocol and date on a server card are no longer 9-point grey.
  • Real depth instead of borders. Cards lift off the background with a soft shadow in light mode and a clear tonal step in dark, so the app stops looking like a grid of fences.
  • The home shows fewer, wider server cards — each one readable from across the desk, with the protocol in a pill that turns amber when the connection is not encrypted.

A sidebar that reads like a list

  • Taller rows with the site badge, the address underneath, and a hover state that tells you which row will answer the click. It was missing before.
  • Selected, connected and hovered now look different from each other, because each carries a different kind of signal instead of three shades of the same colour.

A toolbar that says where you are

  • The connected site now sits in the toolbar: badge, name and the remote folder you are actually in — the one thing up there that changes while you work.
  • Every action has its name next to the symbol. No more hovering over nine mute icons to find out what they do.
  • The four FULL tools are grouped together under a single lock instead of four tiny badges scattered among the free ones.

Tabs that behave like tabs

  • Right-click a tab for Close Other Tabs, Close Tabs to the Left, Close Tabs to the Right and Close All Tabs. Entries that would close nothing are disabled rather than sitting there doing nothing.
  • Tabs are taller and now join the panel below them instead of floating above it, with the site colour running edge to edge along the top.

Comfortable or compact — your choice

  • New in Settings: row density. Comfortable gives the file lists room; compact fits more files on screen for anyone comparing two long trees.
  • Text size stays the same in both. Compact means more rows, not harder reading.

Stability: nothing waits forever

  • A server that accepts the connection and then goes quiet no longer hangs the app. Every reply now has a deadline — a short one for commands, a long one for the reply that ends a transfer, so a big upload is never failed just as it succeeds.
  • Folder Sync can no longer get stuck waiting for a queue that will never empty, and cancelling it actually stops it. If the wait is cut short, modification times are not applied: a file that never arrived should not look like it did.
  • Closing the window no longer kills your transfers. The app stays in the menu bar and the queue keeps running, which is what the menu bar item promised in 1.2 and could not deliver.
  • Fixed a crash when opening Folder Sync, another when downloading a folder as a zip after changing the local directory, and a case where reopening the window could replace live tabs with yesterday’s saved session.

Version 1.2

A home for a hundred servers

Upstream 1.2 is about the moment before the transfer: finding the right server, picking up where you left off, and trusting that the app will still be there tomorrow.

A home instead of an empty pane

  • Opening Upstream now shows a home: the servers you actually worked on last, the ones you pinned, and the full list — with the count of what does not fit on screen, so nothing disappears in silence.
  • Search finds servers by name, host, user and tag, the same fuzzy way as the command palette: type “prd” and “production” comes up.
  • Pin the three servers you live on. They stay at the top, in the order you pinned them.

Tags and saved views

  • Tags are now a real list, not a line of text: add them, remove them, and see how many servers use each one.
  • Save a tag filter under a name — “Clients”, “Production” — and it becomes a single entry in the sidebar and a chip on the home.
  • Everything you tagged in 1.1 keeps working, on this Mac and on the other one through iCloud, even if it is still running the previous version.

Pick up where you left off

  • Tabs reopen on launch: the same servers, the same folders, the same active tab. They come back disconnected on purpose — Upstream will not ask for a string of passwords the moment you open it.
  • A reopened tab shows the server you were on and the remote folder you were in, with a Reconnect button that takes you straight back there.
  • The window remembers its size and position again. It used to forget them at every launch, and this release explains why: it was saving them under a name that changed every time.

Menu bar

  • A new menu bar item: pinned and recent servers, the state of the queue, pause and resume everything, and a way back to the window. Its symbol changes with the queue — idle, working, paused.
  • Notifications when transfers finish or fail, only while Upstream is in the background. With the window in front you can already see everything, and a notification you do not need is a notification you turn off.

Light, dark, and 21 themes that stay readable

  • Light and dark are now a choice of yours, not just the system’s.
  • The 21 accent themes are all still here — and all of them now keep enough contrast to be read on both backgrounds. Most of the catalogue did not, and nobody had measured it before.
  • VoiceOver: a server in the sidebar now says its name, whether it is connected, which protocol it uses and — first of all — whether the traffic is in the clear. Before it said a name and nothing else.

It will be there tomorrow

  • A damaged data file no longer means an app that crashes at every launch. It starts anyway, says so, and never touches the file on disk: your servers stay where they are while you make a copy.
  • The storage now has a versioned schema, so this update and the next ones can add fields without losing what you saved.
  • Turning iCloud sync on or off now moves your saved passwords and keys between the local keychain and the iCloud one. Before, they seemed to vanish.

Version 1.1

Take control of the transfer queue

Pause, resume and reorder transfers — and find your queue still there after a restart. Plus a transfer history, server-wide search and SSH bastion support.

Transfer queue

  • Pause, resume and cancel any transfer, individually or all at once. Resuming continues from the exact byte it stopped at, not from the beginning.
  • Reorder what is waiting by dragging, or send an urgent file straight to the top.
  • The queue now survives quitting the app. Reconnect and Upstream offers to resume what was interrupted — it never restarts transfers on its own.

Transfer history

  • A new window (⇧⌘Y) records every transfer, successful or failed, with speed, duration and the exact error message.
  • Grouped by day, searchable, filterable by server and outcome. Export to CSV with Upstream FULL.
  • The history stays on your Mac and is never synced to iCloud.

On the server

  • Calculate the size of a remote folder, with a live count and a Stop button.
  • Copy the public web URL of a remote file, once you map your site’s web root in the site settings.
  • Copy the SSH command for a server, ready to paste into Terminal.
  • Search the whole server (FULL): find a file anywhere in the remote tree by name or pattern, filter by extension, and limit how deep to look.
  • Jump hosts (FULL): reach servers that are only accessible through an SSH bastion. ProxyJump entries are imported from your ssh config and wired up automatically.

Fixes that matter

  • Upload progress was wrong. On some connections the progress bar lagged far behind what had actually been sent, so a transfer could look half-finished when it was already complete — which then made pausing and resuming behave strangely. Progress now reflects what the server has really received.
  • Hidden files were invisible on FTP servers. “Show Hidden Files” had no effect on the remote pane, and folder sync never saw dotfiles such as .htaccess. They now appear correctly.
  • Fixed a crash when pausing an SFTP transfer.
  • Importing ~/.ssh/config now follows OpenSSH rules properly: the first value wins, and IdentityFile, ProxyJump, Match and Include are all understood.
  • The transfer panel separates failed transfers from completed ones, so an error can no longer be mistaken for a success.

Version 1.0.3

Faster, smarter folder sync

Synchronization compares files by size, walks the whole folder tree, and shows an interactive preview before anything moves.

Synchronization

  • Files are compared by size, so identical files are never re-uploaded — only what actually changed gets transferred.
  • Synchronization now walks the entire folder tree, including nested subfolders.
  • System and hidden folders are excluded by default, removing unnecessary noise.
  • Tree preview with cascading selection: review exactly what will be transferred before you start.

Fixes

  • More reliable overwrite prompts with multiple selections and hidden files.
  • The file panes refresh automatically after a transfer completes.
  • Windows and IIS servers: DOS-style directory listings are now read correctly, instead of showing up as empty folders.

Version 1.0.1

First public refinements

Stability and interface polish following the initial release.

Improvements

  • Interface refinements across the dual-pane browser and the transfer queue.
  • Connection reliability improvements on FTPS and SFTP.

Version 1.0

Upstream arrives on the Mac App Store

The first release: FTP, FTPS and SFTP in one native Swift app, with a concurrent transfer queue and Keychain security.

Highlights

  • FTP, FTPS (explicit and implicit) and SFTP over SSH in a single native app.
  • Dual-pane browser with drag & drop, Quick Look and a live protocol console.
  • Concurrent transfer queue with automatic resume and retry.
  • Credentials in the macOS Keychain, App Sandbox compliant.

Built for people who move files all day

Upstream is a native macOS client for FTP, FTPS, SFTP and S3: a concurrent transfer queue you can pause and reorder, folder synchronization with a dry-run preview, live remote editing, and credentials kept in the macOS Keychain.