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.
- Added support for release artifacts that use
.tar.xzformat (#100)
- Fixed extraction of binaries from tarballs (
.tar,.tar.gz,.tgz)
- Prebuilt binaries for Rokit now use an older Ubuntu version (22.04) for better GLIBC compatibility
It's been almost a year since Rokit 1.0.0 - this maintenance release adds compatibility with more tooling versions and artifacts, and updates Rokit's internal dependencies.
It's also the first Rokit release with native ARM64 support across all major platforms. Otherwise, nothing has changed. Rokit 1.0.0 and above remain as stable as ever.
To update to this version, run rokit self-update. 🚀
- Added support for GitHub releases that use an
x.yversioning scheme such as the Luau CLI (#86) - Added an extra hint for ensuring PATH is up to date, and that tools are runnable, after
rokit install(#92)
- Improved artifact extraction for forked tools in specific circumstances (#82)
- Clarified messaging for subcommands when running
rokit --help
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-infoandself-installcommands, 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-installcommand on Windows to tell the user to restart their computer instead of their terminal (#71)
- Fixed a regression in the
self-updatecommand 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
--checkflag torokit updateto check for updates without modifying any tools (#62)
- Removed unnecessary dependencies in the automatic installer script (#67)
- Changed the
User-Agentheader that Rokit uses for download tools to be more descriptive, hopefully resolving403 Forbiddenerrors (#68)
- Fixed cross-device link error when running
self-installon Linux (#63) - Fixed issues with standard I/O streams on Unix systems (#64)
- Added a
--skip-parseflag torokit authenticateto skip token formatting checks
- Fixed
rokit authenticatenot 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-infodisplaying 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
--verboseflag 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
--verboseflag (#46)
- Fixed Rokit erroring on first startup due to some directories not yet being created (#42)
- Fixed
seleneand 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.zipor similar not being detected as compatible on Windows (#39)
- Fixed tool specifications failing to parse in
foreman.tomlwhen using inline tables (#36) - Fixed tools not specifying architectures (such as
wally-macos.zip) failing to install (#38)
rokit self-updatewill no longer encounter an OS error on Windows systems (#33)
- Overhauled the
rokit listsubcommand 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
tarmacnot installing correctly on non-arm systems due to its name containingarm(#26) - Fixed OS permission errors during
rokit installfor tools that are currently running (#27) - Fixed
tarmacnot 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 installorrokit 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
authenticatesubcommand to add auth tokens for GitHub and future artifact providers.
- Fixed
self-installfailing to add Rokit to$PATHif some shell configuration files don't exist. (#2)
Initial testing release