QuickRust tells you when a newer release is published. Once a day after a build, a separate
low-priority process reads the same signed release manifest qrust self update installs
from, and the next build in a terminal ends with a note naming the new version and the
command that installs it (qrust self update, or your package manager’s), at most once a day.
The check never holds up a build: each request is one attempt of at most 10 seconds, and when
it cannot be made, offline or otherwise, nothing is said and it is tried again the next day.
It sends no identifier and nothing about your machine or your builds; its user agent is
qrust/<version>. It never runs in CI or in a QuickRust built from source.
self.update-check = "off" or QRUST_SELF_UPDATE_CHECK=off turns it off.
qrust self check checks now, and qrust doctor shows what the last check found.
The cache’s free-space bound
The free-space bound now holds on a disk other programs are writing to. A collection counted
any freed space the disk did not yet show as free as kept by a snapshot, and so as free, for
a day; on a disk that was filling, that credited the cache with tens of gigabytes the disk
never had, and the bound stopped applying.
On macOS, QuickRust lists the snapshots of the cache’s APFS volume, and a removed file counts
as kept only when it last changed before the newest of them. That space counts as free while
that snapshot exists, for a day at most. Any other space the disk does not show counts as
used.
On Linux and Windows, QuickRust sees no snapshots, so the bounds go by the disk’s own figure.
qrust cache status shows a kept by snapshots line in place of not shown yet.
Collections while you build
A collection no longer removes a build directory that a run starts holding, or builds in,
while the collection is under way. Just before it removes one, a collection checks again,
under the directory’s lock, whether a running process holds it or it was used in the last
15 minutes.
A build waiting for a directory a collection is removing no longer also waits for its files
to be deleted.
On Windows, a command about to use a build directory waits while a collection removes it,
instead of carrying on without the lock.
Windows
qrust benchmark --edit accepts a file inside the workspace again; it refused every one as
outside it.
QuickRust tells whether two paths are one file by the file itself (its volume and index), as
on other platforms, rather than by its size and times. Its copy of Cargo now follows the
toolchain’s cargo whenever that is replaced, and qrust toolchain link refuses QuickRust
itself.
A linked toolchain’s directory is recorded as it is written (C:\...), not in its verbatim
form (\\?\C:\...).