Repository navigation
v0.4.3
Added
-
A hidden expert mode in the wizard, for people who test pre-release
software. Press Ctrl+Shift+E (Cmd+Shift+E on macOS) on the first
page, or launch RABBIT withRABBIT_EXPERT=1. After a warning that the
builds are unsupported, two choices appear below the REAPER installation:- REAPER builds: regular releases, or the development builds from
landoleet.org. - OSARA builds: regular snapshots, or the test build of an open OSARA
pull request, picked from a list fetched from GitHub.
The window title shows when expert mode is on, and each package row says
when it comes from a pre-release build. Expert mode is never saved and
lasts until RABBIT closes. The next install without it takes every package
that came from a pre-release build back to its regular release, and the
row says so. The same happens to an OSARA test build once its pull request
is merged or closed, or GitHub has deleted the build. A network failure is
never counted as a missing build, so an outage can't downgrade anything.
All five interface languages carry the new wording. - REAPER builds: regular releases, or the development builds from
-
The CLI gets the same builds through
--package-channel, with no unlock
needed. For example,--package-channel reaper=devor
--package-channel osara=pr:1454, and<package>=stablegoes back.
It works onlatest,artifacts,download,plan,install-extension,
apply-packagesandsetup. A package stays on the channel it was last
installed from until told otherwise, andRABBIT packageslists each
package's channels. When a pull request is merged or closed, or has no
build left, the CLI prints a warning and installs the regular snapshot. -
Install receipts now record which channel each package came from, so
RABBIT can tell a development REAPER from a regular one and knows when to
put the regular release back. A switch between channels reinstalls even
when both builds carry the same version number. -
The README now explains
GITHUB_TOKEN. Without it, GitHub allows 60 API
requests an hour, which testers following OSARA pull request builds can
run out of. With a personal access token set, the limit is 5,000. RABBIT
already used the variable, but only CI knew about it. -
On macOS, VoiceOver now hears what changes away from where the user is
standing: a dropdown appearing or going away below the Packages list
when a package is ticked, each package and configuration step as the
install reaches it, and the reason when the version check fails.
Changed
-
RABBIT install-extensionno longer downloads anything without--apply.
It reported a dry run but fetched the artifact first, which is a change to
the machine that every other command makes only with--apply. It now
prints the preflight checks and the artifacts it would download and
install.RABBIT downloadstill fetches on purpose. -
RABBIT now builds on wxdragon 0.9.19, which brings wxWidgets 3.3.3 (up from
3.3.2) under every window and control in the wizard. Nothing is meant to
look or sound different, but every control now comes from a newer toolkit,
so reports of anything that reads or behaves differently with a screen
reader are especially welcome. The upgrade also brings the window-wide
keyboard event that expert mode's shortcut relies on to work whichever
control has focus. -
Closing the wizard while an install is running now stops the run instead of
killing it. RABBIT asks first ("Stop the installation?", with No as the
focused button so a stray Enter can't end a running install), then finishes
the step it is on, releases everything it was holding, writes the report, and
closes. Before this, the close button tore the process down wherever the
worker happened to be — mid-download, mid-extract, or between a vendor
installer finishing and RABBIT recording it. Nothing unwound, so the install
lock file, the extraction temp folders and any part-downloaded files were
left behind, and the user got no record of what had actually landed.
The result page now has a third outcome next to "finished" and "finished with
errors": a stopped run lists which packages installed and which RABBIT never
reached, and does not report either as a failure. All five interface
languages carry the new wording. -
Closing the wizard while RABBIT is updating itself is refused rather than
obeyed. Replacing RABBIT's own program files has no safe interruption point,
so RABBIT explains that and waits instead of leaving a half-swapped
executable behind. -
The REAPER language after installation and Spanish OSARA
translation dropdowns on the Packages page now disappear while the
packages you ticked leave them nothing to decide, instead of staying on
the page greyed out — and, in the language one's case, greyed out and
empty. Tab already skipped both, but a screen reader reading the page
from top to bottom still stopped on them and announced a dead control.
They come back the moment you tick a package that gives them something
to choose.
Fixed
-
When an install failed, the result page said "Installation failed. Review
the error below." and then nothing: the reason sat in the details field,
hidden behind Show details, which starts unticked. The reason now
follows that line in the status field, which gets focus and is read out.
A REAPER that is still open, the usual cause, is described in plain words
in all five languages instead of aspreflight failed: reaper-process: ….
It is also caught before anything starts: pressing Install while
REAPER is running now says to close it first and stays on the Review
page, so you can close REAPER and press Install again instead of
restarting RABBIT. (Reported by acerbt in #32.) -
A portable REAPER stopped being recognised once it had been opened, and
RABBIT then reinstalled it on the next run: a 17 MB download and an
installer, every time. RABBIT's receipt listedreaper.iniwith its size,
REAPER rewrites that file whenever it runs, and the size check then failed.
REAPER installs nothing intoUserPlugins, so it had no other way to be
found and read as missing. Two fixes: files whose contents belong to REAPER
and the user —reaper.iniand OSARA'sreaper-kb.ini— are recorded
without a size and only checked for existence, and REAPER now has a
detector of its own that findsreaper.exeorREAPER.appand reads its
version. That one also recognises a portable REAPER that RABBIT never
installed. -
An OSARA pull request build whose receipt was missing reported the wrong
version. RABBIT falls back to scanning the plug-in for its version string,
and the pattern only matched snapshot versions like2026.8.9.2302. The
binary also contains the help text "For example: 2024.3.6.1332,13560ef7",
so the scan found that instead and reported a build from 2024. RABBIT now
looks for the pull request form first. -
Console windows no longer flash on screen while RABBIT works. RABBIT's
release build owns no console of its own, so every console program it
launched got a brand new console window from Windows: a PowerShell window
when RABBIT added its Defender cache exclusion (the one users noticed,
since it only appears on the runs that actually need the exclusion), a
signtoolwindow during signature checks on machines with the Windows SDK,
and acmdwindow every time the wizard opened a link. All three now run
windowless. Vendor installers still show their windows: those are the
user's own installers, and hiding them would leave a wizard that looked
stalled. -
The Set REAPER's language row no longer claims to require one
particular language pack. It listed every pack it accepts and then named
whichever sorted first, so a step that any pack satisfies advertised
itself as "requires REAPER in Spanish". It now says "requires a language
pack" in all five interface languages. Steps with a single dependency —
the ReaPack ones — still name it, since there it is the truth.
(Reported by Scott Chesworth from Q&A.) -
Enter on the Review page now starts the install, as the default
Install button promises. Focus lands on the page's read-only summary,
and that text box kept the key for itself. -
On macOS, Space now ticks and unticks rows in the Packages list,
and VoiceOver says whether the row is now checked. Before, only VO+Space
while interacting with the list changed a checkbox, so the list could not
be used from the keyboard alone
(#28). -
The package list on the Packages page could go missing entirely
unless the window was maximized. The page had grown — the OSARA key-map
note, then the Spanish-variant and REAPER-language dropdowns — until the
controls stacked below the list no longer fitted the default window, and
the layout took the whole shortfall out of the only control allowed to
stretch: the list itself. It collapsed to nothing, and a control of zero
height is not exposed to screen readers at all, so VoiceOver, NVDA,
JAWS and Narrator alike found no list to read. The wizard pages now
scroll instead of clipping what does not fit, so every control keeps its
size whatever the window size and the language of the interface.
Security
- RABBIT no longer hands a
GITHUB_TOKENfrom its environment to the
programs it starts. That covers every installer that runs without admin
rights, OSARA's pull request builds included, the macOS admin shell that
runs installers, and REAPER when the wizard starts it. They used to inherit
the whole environment, token included. With expert mode, that can be code
nobody has reviewed yet, such as an OSARA pull request build or REAPER
running one. RABBIT only needs the token for its own requests to GitHub's
API.