Releases: ZyraLabs/warpseed
Release list
warpseed v1.1.6
warpseed 1.1.6 — it asks before it replaces a file
Downloading a file you already had used to replace it silently — and only
after transferring the whole thing again. A 50 GB file cost 50 GB to
discover it was unwanted, and the copy you had was gone. That is fixed, in
both directions.
Fixed
- The destination is checked before the transfer starts, not at the
moment it finishes. Nothing is re-transferred to find out it was not
needed, and nothing is replaced without a decision having been made.
New
-
Overwrite rules, in Settings → When the file already exists. Each kind
of clash gets its own answer:Default Incoming is newer and larger Overwrite Incoming is smaller Ask Incoming is older Ask Identical (same size and time) Skip Anything else Ask Every one can be set to Overwrite, Skip, Keep both, or Ask. "Newer and
larger" is the only case that replaces a file on its own — a bigger file
with a later date is a better copy of the same thing far more often than it
is a mistake. Anything that could be a downgrade asks. -
"Ask" holds the file in the queue instead of interrupting you. The dock
shows "3 files already exist at the destination. Nothing is transferred
until you decide." Each row explains itself — "Incoming is smaller than
the copy you have — 1.8 GB incoming vs 2.4 GB already there" — with Skip,
Keep both and Overwrite per row, or the same three for the whole set. A
folder full of clashes is one decision, not one dialog per file. -
Keep both transfers to a free name beside the existing file:
ep01.mkvbecomesep01 (1).mkv. -
Uploads get all of this too. Uploading over a file already on the seedbox
was just as silent, and harder to notice.
Notes
- Held transfers are queued but not running: they consume no connection and
hold nothing up. The rest of the queue carries on around them. - A server that reports no timestamp still gets a size comparison; warpseed
will not call two files identical on size alone. - Existing settings and queues are untouched. The rules above are the
defaults for everyone, including existing installs.
warpseed v1.1.5
warpseed 1.1.5 — nothing is deleted without asking
1.1.4 made cancel throw away a transfer's part-downloaded data, which is what
stops a cancelled 50 GB upload sitting on your seedbox quota. It did not add a
warning, so a single click could discard hours of transfer with no way back.
That was wrong, and this fixes it.
Fixed
- Cancel now asks first, and says exactly what it is about to delete —
"the 12.4 GB already transferred" — and that Pause would keep it. The
Skip buttons in Deck and Timeline go through the same warning: they
cancel a failed transfer, and "skip" reads far too much like "leave it for
later". - Clear done asks when the list contains cancelled transfers, whose
part-downloaded data goes with the row. It says plainly that completed
transfers are only being removed from a list and the files you downloaded
are untouched. - Deleting a saved site asks. The X on a site in Quick Connect removed it,
its saved password, its bookmarks and its pinned host key, on one click and
with no confirmation at all. That has been true since 1.0.
Changed
- Every destructive confirmation now offers "Don't ask again until warpseed
restarts". Silencing one kind of warning silences only that kind — turning
off the file-delete prompt does not turn off the cancel prompt — and a
relaunch always asks again. - A transfer that has moved no bytes cancels immediately, with no dialog.
There is nothing to lose, and a warning you always dismiss is a warning you
stop reading.
Notes
- If you are on 1.1.3 or earlier, cancel did not delete anything and there was
nothing to warn about. Coming from 1.1.4, this is the guard rail that should
have shipped with it.
warpseed v1.1.4
warpseed 1.1.4 — the data-safety pass
No new features. This release closes every remaining way the queue could
lose, waste or misplace your bytes, including one that could publish a file
of exactly the right size holding the wrong contents. If you run overnight
transfers, take this one.
Fixed
- A resumed Hyperlane download now proves its progress is real. The check
was the part file's size — which proves nothing, because the file is
created at its full size before the first byte arrives. Anything that
replaced its contents without changing its length passed: a folder restored
from a backup or Windows' Previous Versions, another tool writing the same
path, or leftovers from an attempt at a different file of the same size.
The ranges already marked done were never fetched again, and the finished
file had the right length and the wrong bytes. Each completed range is now
read back from the server and compared before anything is resumed — the
check uploads have had all along. - Cancel no longer leaves the file behind. Cancelling removed the queue
row's work but not its part file, so a cancelled 50 GB upload left a
full-size placeholder on the seedbox. It is sparse on disk, but seedbox
quotas are usually billed on apparent size, so you were paying for a
transfer you cancelled. Cancel now discards the placeholder, the lane plan
and the byte count. Pause is unchanged and still keeps everything for
resume. - Clear done no longer strands a cancelled transfer's data. It deleted
the row, which was the only record that the part file existed. It now
sweeps those files first, the same way Clear failed does. - The same file queued twice no longer runs twice. Two rows aimed at one
destination wrote into the same part file at the same time. For downloads
that wasted the transfer; for uploads, where the two sources can differ, it
could splice two files together. Only one row per destination runs at a
time now, and re-queuing something already waiting returns the row you
already have instead of adding a second. Two different files aimed at one
destination are still accepted — that is a conflict, and warpseed will not
pretend it queued something it did not. - Cancel is now always honoured. A transfer cancelled in the moment
before the queue picked it up could be started anyway, because the queue
worked from a list read a moment earlier and never rechecked. It now claims
a transfer only while that transfer is still waiting, so a cancel can never
be overtaken. - Closing warpseed no longer spends a transfer's retries. A transfer
interrupted on its second attempt came back with one retry left and the old
error still attached, so it gave up at the first hiccup of the new run.
Quitting is not a transfer failure: recovery now restores a clean slate and
keeps the byte progress, so it resumes rather than restarts.
Notes
- Nothing here changes your settings, your queue or your saved sites.
- The download resume check costs two 256 KiB reads per lane before a resumed
transfer starts — a fraction of a second against a transfer measured in
gigabytes, and the only way to know the bytes on disk are the bytes you
asked for.
warpseed v1.1.3
warpseed 1.1.3 — lanes you actually get, and one button for a failed batch
If Hyperlane said 4 lanes but a queue of large files crawled at one
connection's speed each, this is the fix. Thank you to the tester who
worked out the connection arithmetic before we did, and who lost a batch to
a hard drive unplugged mid-run.
Fixed
- A queue of large files ran every file on one lane. Transfers took
whatever connections happened to be spare rather than waiting for the lane
count you set, so the first file claimed the budget and everything behind
it started narrow. Files now wait for their full lane count: a queue of
large files runs them one at a time at full width instead of all of them
at one connection's speed. Queue order is respected per site, so the file
at the front no longer waits behind smaller ones that fit. - A part-transferred large file is no longer restarted when the server is
short of connections. A Hyperlane download that had to fall back to a
single connection deleted its multi-lane progress before starting over —
on a 50 GB file that is tens of gigabytes re-downloaded, and a server
granting one connection where several were asked for is ordinary. It now
waits and retries with its progress intact instead. This was the oldest
known data-safety item on the roadmap (1.2), and the reason a nearly
finished transfer could suddenly start again from nothing. - A server that refuses connections no longer stalls the queue. When a
server grants fewer connections than asked for, warpseed now remembers
what it actually got and sizes the following transfers to match, instead
of holding the rest of the queue back waiting for a width that server was
never going to give. The observed limit is forgotten once the site goes
idle or goes stale, so a momentary refusal cannot hold a site at one
connection for the rest of an overnight run. - The Transfers settings did not say they were connection budgets.
"Concurrent transfers" and "Per-site default" count connections, not
files, and Hyperlane draws its lanes from them — so setting them to 1 to
"give one file all the lanes" silently turned Hyperlane off, which is the
exact opposite of what it reads like. They are now Connections, all
sites and Connections per site, the section says what they do, and
the lane field tells you when your budget is limiting it and what to raise
it to.
New
- Retry failed and Clear failed in the queue toolbar, shown whenever
anything has failed. One unplugged drive or one hour of a server refusing
logins fails a whole batch, and clearing it a row at a time was the
reported pain. Retry requeues everything and each file resumes from the
byte it reached; Clear removes the rows and the part-downloaded data with
them, so nothing is left behind on disk.
Also included, if you are coming from 1.1.1
1.1.2 was never published as a download, so this release carries its fixes
too — the big one being that queues over 200 rows stopped showing what was
in flight: the dock read "0 active", Flight had no lanes and Activity was
empty while the transfers carried on regardless. Full detail in
docs/release/release-notes-1.1.2.md.
Notes
- Nothing about your saved settings changes — the two Transfers numbers mean
what they always meant, they are just named and explained correctly now.
If you had lowered them to force more lanes, raise them back: the lane
count can never exceed them, and Settings now says so under the field. - Clear failed deletes part-downloaded data. Those files start from the
beginning if you queue them again. Finished files are never touched, and
the confirmation says so before anything is removed. It clears exactly the
rows it counted, so anything that fails while the confirmation is open is
left for you to look at rather than swept away with the rest. - Clear failed keeps a row whose data it cannot reach rather than
deleting the record and stranding the file. That means failed uploads
while the site is disconnected — connect it and clear again. It also
leaves the part-file alone when another queued copy of the same
destination is still using it, so re-queuing a folder and then tidying the
red rows no longer resets the new copy to zero. - If the log says something like
site 1 granted 4/6 connections, that is
your server refusing the extras, not warpseed giving up — it is the
quickest way to find the connection ceiling your provider actually
enforces, and a good number to set Connections per site to.
warpseed v1.1.1
warpseed 1.1.1 — Hyperlane downloads no longer stall the disk
If Hyperlane downloads sat at one connection's speed, cancel took ages to
let go, or warpseed lingered in Task Manager doing disk work after you closed
it, this is the fix. Thank you to the tester who reported all three in one
email and pointed at the same file in WinSCP for comparison.
Fixed
- Large downloads no longer zero-fill the destination. Hyperlane reserves
the full file size up front so each lane can write at its own offset. On
Windows that reservation was not free: the first write from each lane made
NTFS write zeros over everything before it, inside a call that nothing could
interrupt. On a 50 GB file with four lanes that was roughly 37 GB of zeros
before lane four's first byte landed. Three of four lanes sat idle for
minutes, cancel could not take effect until the zeros finished, and the
process outlived the window — End Task included — until the disk was done.
The part file is now flagged sparse before it is sized, so a write at any
offset costs only that write, and the flag is cleared again once every
byte is in place so the finished file is an ordinary one. Volumes that
refuse the flag (FAT32, some network shares) still work and a line in the
log says so.
Added
- Verbose log. Settings → About → Verbose log. Adds per-lane byte
ranges, how long each lane's first write took, and when a cancel was
requested versus when the lanes actually let go. Off by default so the log
stays a readable timeline. Turn it on when reporting a stall, reproduce it,
then sendwarpseed.logfrom Open log folder.
Notes
- This is about downloads to a local NTFS volume. The single-connection
path was never affected; only files above the Hyperlane threshold
(256 MB by default) hit this. - Known gap: a Hyperlane upload to a Windows-hosted SFTP server can hit
the same zero-fill on the server's side, where warpseed cannot set the
flag. Seedboxes run Linux, so this is unlikely to affect anyone; if it
does, set upload lanes to 1 for that site. - A
.wschunkleft by 1.1.0 is flagged sparse on its next attempt and
resumes normally.
warpseed v1.1.0
warpseed 1.1.0 — sortable columns, faster uploads, and a log file
If you are on 1.0.0, this is the update to take. The column headers in
1.0.0 were not clickable at all — a CSS rule further down the same file put
the header strip out of flow, underneath the first row of files. Sorting by
size or date was unreachable, and the status bar was quietly eating most of
the pane. Both are fixed.
Fixed
- Column headers work. Click Name, Size or Modified to sort; click again
to reverse. Both panes now share one sort — previously each pane kept its
own and they only agreed again after a restart. Sorting by size in a
folder-only listing reverses properly instead of appearing to do nothing. - The file list gets the space. The pane used a four-row grid for a
layout whose filter strip is optional, so with the filter closed the free
space went to the status bar instead of the listing. - Typing jumps instead of hiding. Pressing a letter now moves the cursor
to the first matching file, the way File Explorer does, and repeats step
through matches. Previously it opened a filter and made rows disappear as
you typed, with no way back from the keyboard.Ctrl+Fstill opens the
filter deliberately, andEscleaves it. - The address bar stops stealing focus. After one
Ctrl+L, every folder
you opened re-entered the path editor, leaving the arrow keys dead until
you clicked back into the list. - Times are local. Timestamps were shown in UTC, so they disagreed with
Explorer and made a correct date sort look wrong. - The folder tree opens collapsed instead of listing every drive up front.
- Queued transfers no longer wait behind a multi-lane one. A transfer now
starts on whatever connections are free rather than holding out for its
full request, which could leave downloads pending indefinitely behind an
upload. - Closing no longer risks re-sending a finished file. Quitting in the
moment a transfer completed could lose its "completed" record, and since a
finished transfer has already published its file, the retry on next launch
started again from zero. Shutdown now stops transfers and lets their state
land first.
New
- Hyperlane uploads. Large uploads now split across several connections,
the way downloads have since 1.0. Off below 128 MB, three lanes by default,
both adjustable in Settings → Hyperlane · Uploads. Interrupted uploads
resume per chunk, and every resumed range is verified against the source
before it is trusted. - Activity reports real speeds. A summary band shows current rate, data
moved today, average and best, and every finished transfer carries its
duration and rate. Averages are over time spent transferring, not
wall-clock, so idle gaps do not drag them down. Transfers from before this
release have no timing recorded and show no speed. - A log file.
warpseed.log, next to the database, with Settings →
About → Open log folder to find it. Attach it to a bug report; it makes
a slow or failed transfer diagnosable instead of guesswork. - Sort shortcuts and column affordances.
Ctrl+F3/Ctrl+F5/Ctrl+F6
sort by name, date and size, and the headers show a sort direction.
Notes
Hyperlane uploads are new in this release and have been tested against one
server. If an upload behaves oddly, set Lanes per file to 1 in Settings
to fall back to the single-connection path, and send the log.
Upload throughput depends heavily on your connection: where a single stream
is held back by packet loss, more lanes can help far more than expected, so
it is worth trying higher lane counts and watching the Activity average.
Windows 10/11 x64. Portable, no installer. The binary is unsigned, so
SmartScreen may prompt on first run — "More info" then "Run anyway", and
verify the published SHA-256 if you would rather be certain.
warpseed v1.0.0
warpseed 1.0 — release notes
Free forever, from Zyra Labs. Support development: buymeacoffee.com/zyralabs
What warpseed is
A fast transfer client for Windows built for seedbox workloads: parallel
connections, byte-level resume that survives errors and restarts, and a
queue you can trust with an overnight 50 GB run.
Highlights
- Hyperlane — one large file split across up to 16 connections at
once, so a per-connection speed cap no longer caps the file. - Byte-level resume — errored or paused transfers pick up at the
exact byte, verified against per-chunk checkpoints. - Four views — Deck (the night's work at a glance), Browse (dual-pane
commander, WinSCP muscle memory intact), Activity (the session as a
story), and Flight (a live picture of the pipeline while it runs). - Mini mode — collapse warpseed to a tiny always-on-top pill and keep
an eye on the run while you work; Escape brings it back. - Three themes — Clay (default), Cobalt, and Iris (dark).
- Honest failure handling — plain-language errors with one-click
retry; the app reconnects cleanly after idle timeouts. - Safety — host-key pinning on first use, credentials in Windows
Credential Manager, downloads confined to their destination folder.
Bug reports
Settings → About → Report a bug in the app, or email warpseed@zyralabs.tech — handled on an urgency basis.
Requirements
Windows 10/11 x64 · WebView2 (preinstalled on Windows 11)
Known limitations
- SFTP password auth only (SSH keys/agent planned)
- FTP/S3/WebDAV planned via a future engine adapter
- Unsigned binary for now — SmartScreen may prompt on first run