All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Given that Rokit is already used in production by many Roblox developers, and many months have passed with no new major issues, it is time to release version 1.0.0
.
This comes with a couple guarantees:
- We will not be making any breaking changes to Rokit in the foreseeable future, and if we do, we will release a new major version.
- Rokit's tool storage & tool artifact selection algorithms are stable, and safe to rely on in production environments.
- New features and subcommands may still be added, as long as they do not break existing functionality.
As always, run rokit self-update
to update to the latest version of Rokit! 🚀
- Changed tool downloading to prefer compressed artifacts over uncompressed ones for quicker downloads (#76)
- Fixed Rokit not being recognized as in PATH for
system-info
andself-install
commands, unnecessarily prompting the user to restart (#74) - Fixed tools such as
lefthook
, with compatible and incompatible artifacts within the same release, not installing correctly (#76)
- Added support for tool artifacts compressed using gzip (
.gz
) (#73)
- Changed instructions in
self-install
command on Windows to tell the user to restart their computer instead of their terminal (#71)
- Fixed a regression in the
self-update
command that prevented tool links from being updated
- Added option to display Rokit's changelog in the terminal when running
rokit self-update
(#56) - Added a
--check
flag torokit update
to check for updates without modifying any tools (#62)
- Removed unnecessary dependencies in the automatic installer script (#67)
- Changed the
User-Agent
header that Rokit uses for download tools to be more descriptive, hopefully resolving403 Forbidden
errors (#68)
- Fixed cross-device link error when running
self-install
on Linux (#63) - Fixed issues with standard I/O streams on Unix systems (#64)
- Added a
--skip-parse
flag torokit authenticate
to skip token formatting checks
- Fixed
rokit authenticate
not correctly verifying certain GitHub tokens (#60)
- Added a new self-install mechanism to automatically install Rokit on Windows, if Rokit is launched by clicking it in the File Explorer or similar locations (#52)
- Fixed
rokit system-info
displaying Rokit as not in PATH even when it was (#50) - Fixed process group behavior on Windows that was preventing programs spawned by Rokit from exiting properly (#51)
- Added a new
--verbose
flag to CLI commands in Rokit for easier debugging when something goes wrong (#46)
- Removed warnings with additional information when searching for tool fallbacks, in favor of using the new
--verbose
flag (#46)
- Fixed Rokit erroring on first startup due to some directories not yet being created (#42)
- Fixed
selene
and other tools not being installable because their releases contain multiple archives / binaries (#45)
- Fixed artifact names with versions in them, such as
lune-0.8.6-linux-x86_64.zip
, no longer installing correctly in Rokit0.1.6
(#40)
- Fixed artifacts with names ending in
win64.zip
or similar not being detected as compatible on Windows (#39)
- Fixed tool specifications failing to parse in
foreman.toml
when using inline tables (#36) - Fixed tools not specifying architectures (such as
wally-macos.zip
) failing to install (#38)
rokit self-update
will no longer encounter an OS error on Windows systems (#33)
- Overhauled the
rokit list
subcommand to be more useful and distinct fromrokit system-info
- Improved the formatting of Rokit manifests created using
rokit init
- Fixed the "restart terminal" hint being shown after a
rokit self-install
, even if restarting isn't necessary for Rokit to function
- Fixed
tarmac
not installing correctly on non-arm systems due to its name containingarm
(#26) - Fixed OS permission errors during
rokit install
for tools that are currently running (#27) - Fixed
tarmac
not installing correctly on non-mac systems due to its name containingmac
(#28)
- Fixed nested processes (processes spawned by processes spawned by rokit) hanging on macOS
- Added an automatic retry mechanism for network requests, making installation more robust (#24)
- Rokit now falls through to system-wide installations of tools when a tool is not managed using a Rokit manifest (#25)
- Fixed zombie processes being left around on Windows (#23)
- Added warnings when tool aliases and specs fail to parse
- Fixed issues with UNC paths on Windows
- Fixed error messages being written to stdout instead of stderr (#14)
- Fixed panics for manifests with a missing tools section (#15)
- Fixed panics when running
rokit install
orrokit add
(#16) - Fixed tool links missing executable extensions on Windows (#18)
- Fixed tools installed by Rokit not being usable on Windows (#10)
Tools are now stored in a case-insensitive manner to prevent unnecessary downloading and linking of duplicate tool specifications. This means that tools in manifests that are not all lowercase may no longer work on case-sensitive filesystems. To fix this, remove the ~/.rokit/tool-storage
directory, and Rokit will re-download and install tools next time you run rokit install
.
- Fixed tool aliases being case-sensitive
- Fixed Rokit process being killed during self-update
- Fixed common tool name shortcuts in the CLI being case-sensitive
- Fixed tool storage and tool trust cache being case-sensitive
- Added new
authenticate
subcommand to add auth tokens for GitHub and future artifact providers.
- Fixed
self-install
failing to add Rokit to$PATH
if some shell configuration files don't exist. (#2)
Initial testing release