Releases: kobaltcore/renkit
v5.1.0-alpha.8
Install renkit 5.1.0-alpha.8
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.8/renkit-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.8/renkit-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install kobaltcore/renkit/renkit
Download renkit 5.1.0-alpha.8
File | Platform | Checksum |
---|---|---|
renkit-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
renkit-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
renkit-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
renkit-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
renkit-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
renkit-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
v5.1.0-alpha.7
Install renkit 5.1.0-alpha.7
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.7/renkit-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.7/renkit-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install kobaltcore/renkit/renkit
Download renkit 5.1.0-alpha.7
File | Platform | Checksum |
---|---|---|
renkit-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
renkit-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
renkit-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
renkit-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
renkit-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
renkit-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
v5.1.0-alpha.6
Install renkit 5.1.0-alpha.6
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.6/renkit-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.6/renkit-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install kobaltcore/renkit/renkit
Download renkit 5.1.0-alpha.6
File | Platform | Checksum |
---|---|---|
renkit-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
renkit-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
renkit-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
renkit-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
renkit-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
renkit-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
v5.1.0-alpha.5
Install renkit 5.1.0-alpha.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.5/renkit-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.5/renkit-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install kobaltcore/renkit/renkit
Download renkit 5.1.0-alpha.5
File | Platform | Checksum |
---|---|---|
renkit-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
renkit-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
renkit-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
renkit-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
renkit-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
renkit-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Version 5.1.0-alpha.4
Release Notes
This release adds support for task parallelization, automatically executing tasks in parallel where possible. It additionally enables optional task multi-instancing, enabling duplicate invocations of tasks with different parameters.
Bug Fixes
The keytool
path for generating Android keystores is now properly joined on Windows systems, fixing a bug where the keystore generation could fail on Windows due to incorrect pathing.
In the case of a keystore generation failure, renconstruct
will now write a default, pre-generated keystore (with the same settings as it would otherwise use) to continue the installation. Since this keystores are generally overwritten by the keystore
task, this won't affect the final build.
Improvements
Better output when keystores fail to generate: renconstruct
will now print the command it used to generate the keystore, making it easier to debug issues.
Task Parallelization
By default, nothing about the execution order of tasks will change. They will execute sequentially exactly as they did before. However, tasks can now be marked as sandboxed
to enable parallel execution:
[tasks.example]
type = "custom"
sandboxed = true
sandboxed
in the context of renconstruct
is a promise from the user that the task will not modify any global state or have any side effects outside of the task's own scope. For example, a task that creates a file will do so in a way that does not affect itself if it were run with different parameters.
Under this guarantee, reconstruct
will execute tasks in parallel if they are marked as sandboxed
, occur in the same build stage and have the same priority level. Thus, if task A runs pre-build and task B runs post-build, they can not be executed in parallel.
However, if task A and task B are both marked as sandboxed
and occur in the same stage with the same priority level, they can be executed in parallel. renconstruct
will automatically detect parallelism opportunities and inform you of this in the logs.
Task Multi-Instancing
The ability to run tasks in parallel also made it more sensible for tasks to be able to run multiple instances of themselves. This is useful for tasks that themselves don't have any internal parallelism opportunities, but can be run multiple times in parallel, for example image processing tasks like resizing to various scales for different directories.
As such, tasks now take a new, optional parameter name
which is used to identify the task instance and takes over the duty of the section title in the configuration file.
[tasks.example] # <== This previously determined the task that would run
type = "custom"
[tasks.my_random_identifier] # <== Tasks can now have arbitrary names, allowing multi-instancing
type = "custom"
name = "example" # <== This is now a task parameter
Before this change, the names of task sections in the config file were a limiting factor as only one section could be named tasks.example
and could thus refer to that specific custom task. Now tasks can be named arbitrarily, allowing for multiple instances of the same task to be run in parallel. The following invokes the task ExamleTask
twice, with different names:
[tasks.random_task_id_1]
type = "custom"
name = "example"
[tasks.random_task_id_2]
type = "custom"
name = "example"
To remain backwards-compatible with existing configuration files, the task section names will be used as a fallback when the name
parameter is not specified, but a warning will be printed to the console to update to the new format.
Install renkit 5.1.0-alpha.4
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.4/renkit-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.4/renkit-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install kobaltcore/renkit/renkit
Download renkit 5.1.0-alpha.4
File | Platform | Checksum |
---|---|---|
renkit-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
renkit-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
renkit-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
renkit-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
renkit-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
renkit-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Version 5.1.0-alpha.3
Release Notes
This release adds support for task parallelization, automatically executing tasks in parallel where possible. It additionally enables optional task multi-instancing, enabling duplicate invocations of tasks with different parameters.
Bug Fixes
The keytool
path for generating Android keystores is now properly joined on Windows systems, fixing a bug where the keystore generation could fail on Windows due to incorrect pathing.
Improvements
Better output when keystores fail to generate: renconstruct
will now print the command it used to generate the keystore, making it easier to debug issues.
Task Parallelization
By default, nothing about the execution order of tasks will change. They will execute sequentially exactly as they did before. However, tasks can now be marked as sandboxed
to enable parallel execution:
[tasks.example]
type = "custom"
sandboxed = true
sandboxed
in the context of renconstruct
is a promise from the user that the task will not modify any global state or have any side effects outside of the task's own scope. For example, a task that creates a file will do so in a way that does not affect itself if it were run with different parameters.
Under this guarantee, reconstruct
will execute tasks in parallel if they are marked as sandboxed
, occur in the same build stage and have the same priority level. Thus, if task A runs pre-build and task B runs post-build, they can not be executed in parallel.
However, if task A and task B are both marked as sandboxed
and occur in the same stage with the same priority level, they can be executed in parallel. renconstruct
will automatically detect parallelism opportunities and inform you of this in the logs.
Task Multi-Instancing
The ability to run tasks in parallel also made it more sensible for tasks to be able to run multiple instances of themselves. This is useful for tasks that themselves don't have any internal parallelism opportunities, but can be run multiple times in parallel, for example image processing tasks like resizing to various scales for different directories.
As such, tasks now take a new, optional parameter name
which is used to identify the task instance and takes over the duty of the section title in the configuration file.
[tasks.example] # <== This previously determined the task that would run
type = "custom"
[tasks.my_random_identifier] # <== Tasks can now have arbitrary names, allowing multi-instancing
type = "custom"
name = "example" # <== This is now a task parameter
Before this change, the names of task sections in the config file were a limiting factor as only one section could be named tasks.example
and could thus refer to that specific custom task. Now tasks can be named arbitrarily, allowing for multiple instances of the same task to be run in parallel. The following invokes the task ExamleTask
twice, with different names:
[tasks.random_task_id_1]
type = "custom"
name = "example"
[tasks.random_task_id_2]
type = "custom"
name = "example"
To remain backwards-compatible with existing configuration files, the task section names will be used as a fallback when the name
parameter is not specified, but a warning will be printed to the console to update to the new format.
Install renkit 5.1.0-alpha.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.3/renkit-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.3/renkit-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install kobaltcore/renkit/renkit
Download renkit 5.1.0-alpha.3
File | Platform | Checksum |
---|---|---|
renkit-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
renkit-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
renkit-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
renkit-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
renkit-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
renkit-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Version 5.1.0-alpha.2
Release Notes
This release adds support for task parallelization, automatically executing tasks in parallel where possible. It additionally enables optional task multi-instancing, enabling duplicate invocations of tasks with different parameters.
Task Parallelization
By default, nothing about the execution order of tasks will change. They will execute sequentially exactly as they did before. However, tasks can now be marked as sandboxed
to enable parallel execution:
[tasks.example]
type = "custom"
sandboxed = true
sandboxed
in the context of renconstruct
is a promise from the user that the task will not modify any global state or have any side effects outside of the task's own scope. For example, a task that creates a file will do so in a way that does not affect itself if it were run with different parameters.
Under this guarantee, reconstruct
will execute tasks in parallel if they are marked as sandboxed
, occur in the same build stage and have the same priority level. Thus, if task A runs pre-build and task B runs post-build, they can not be executed in parallel.
However, if task A and task B are both marked as sandboxed
and occur in the same stage with the same priority level, they can be executed in parallel. renconstruct
will automatically detect parallelism opportunities and inform you of this in the logs.
Task Multi-Instancing
The ability to run tasks in parallel also made it more sensible for tasks to be able to run multiple instances of themselves. This is useful for tasks that themselves don't have any internal parallelism opportunities, but can be run multiple times in parallel, for example image processing tasks like resizing to various scales for different directories.
As such, tasks now take a new, optional parameter name
which is used to identify the task instance and takes over the duty of the section title in the configuration file.
[tasks.example] # <== This previously determined the task that would run
type = "custom"
[tasks.my_random_identifier] # <== Tasks can now have arbitrary names, allowing multi-instancing
type = "custom"
name = "example" # <== This is now a task parameter
Before this change, the names of task sections in the config file were a limiting factor as only one section could be named tasks.example
and could thus refer to that specific custom task. Now tasks can be named arbitrarily, allowing for multiple instances of the same task to be run in parallel. The following invokes the task ExamleTask
twice, with different names:
[tasks.random_task_id_1]
type = "custom"
name = "example"
[tasks.random_task_id_2]
type = "custom"
name = "example"
To remain backwards-compatible with existing configuration files, the task section names will be used as a fallback when the name
parameter is not specified, but a warning will be printed to the console to update to the new format.
Install renkit 5.1.0-alpha.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.2/renkit-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.2/renkit-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install kobaltcore/renkit/renkit
Download renkit 5.1.0-alpha.2
File | Platform | Checksum |
---|---|---|
renkit-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
renkit-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
renkit-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
renkit-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
renkit-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
renkit-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Version 5.1.0-alpha.1
Release Notes
This release adds support for task parallelization, automatically executing tasks in parallel where possible. It additionally enables optional task multi-instancing, enabling duplicate invocations of tasks with different parameters.
Task Parallelization
By default, nothing about the execution order of tasks will change. They will execute sequentially exactly as they did before. However, tasks can now be marked as sandboxed
to enable parallel execution:
[tasks.example]
type = "custom"
sandboxed = true
sandboxed
in the context of renconstruct
is a promise from the user that the task will not modify any global state or have any side effects outside of the task's own scope. For example, a task that creates a file will do so in a way that does not affect itself if it were run with different parameters.
Under this guarantee, reconstruct
will execute tasks in parallel if they are marked as sandboxed
, occur in the same build stage and have the same priority level. Thus, if task A runs pre-build and task B runs post-build, they can not be executed in parallel.
However, if task A and task B are both marked as sandboxed
and occur in the same stage with the same priority level, they can be executed in parallel. renconstruct
will automatically detect parallelism opportunities and inform you of this in the logs.
Task Multi-Instancing
The ability to run tasks in parallel also made it more sensible for tasks to be able to run multiple instances of themselves. This is useful for tasks that themselves don't have any internal parallelism opportunities, but can be run multiple times in parallel, for example image processing tasks like resizing to various scales for different directories.
As such, tasks now take a new, optional parameter name
which is used to identify the task instance and takes over the duty of the section title in the configuration file.
[tasks.example] # <== This previously determined the task that would run
type = "custom"
[tasks.my_random_identifier] # <== Tasks can now have arbitrary names, allowing multi-instancing
type = "custom"
name = "example" # <== This is now a task parameter
Before this change, the names of task sections in the config file were a limiting factor as only one section could be named tasks.example
and could thus refer to that specific custom task. Now tasks can be named arbitrarily, allowing for multiple instances of the same task to be run in parallel. The following invokes the task ExamleTask
twice, with different names:
[tasks.random_task_id_1]
type = "custom"
name = "example"
[tasks.random_task_id_2]
type = "custom"
name = "example"
To remain backwards-compatible with existing configuration files, the task section names will be used as a fallback when the name
parameter is not specified, but a warning will be printed to the console to update to the new format.
Install renkit 5.1.0-alpha.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.1/renkit-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/kobaltcore/renkit/releases/download/v5.1.0-alpha.1/renkit-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install kobaltcore/renkit/renkit
Download renkit 5.1.0-alpha.1
File | Platform | Checksum |
---|---|---|
renkit-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
renkit-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
renkit-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
renkit-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
renkit-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
renkit-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Version 5.0.0
Release Notes
This release introduces several new features, some of which include breaking changes.
Introduction of .renpy-version
renutil launch
now supports reading a .renpy-version
file in the project directory to determine the Ren'Py version to use when launching a project in --direct
mode. This file should contain a single line with the Ren'Py version to use (optionally containing trailing newline). If the file is not present, renutil
will require the version to be specified as an argument.
This breaks the CLI API as renutil launch
now doesn't require a version anymore. It can still be specified as an optional argument via the new -v <version>
flag. If it is specified, the version given in the .renpy-version
file will be ignored.
Auto-installation of Ren'Py when using renutil launch
If the Ren'Py version requested when invoking renutil launch
is not installed, renutil
will now automatically download and install it by default. This feature can be disabled either by supplying the --no-auto-install
flag or setting the RENUTIL_AUTOINSTALL
environment variable to false
or 0
. The --no-auto-install
flag will override RENUTIL_AUTOINSTALL=true
for that specific invocation.
renconstruct
Task System Rework
The task system in renconstruct
has been reworked to allow for more flexibility in defining tasks. While this is mostly backwards-compatible, there are some breaking changes:
-
Custom tasks must now accept two additional parameters in their
__init__
method:renpy_path
: Path to the Ren'Py installation used to build the distributions.registry
: Path to the registry directory containing the Ren'Py installation(s).
-
The
pre_build
andpost_build
methods of custom tasks must now accept an additional parameter:on_builds
: A dictionary mapping build names to the paths of the built distributions. The values of this dictionary will beNone
duringpre_build
because nothing has been built at that point. Example:{ "mac": "output/mygame-1.0-mac.zip" }
. Tasks can then opt to either do processing per build artifact or globally, allowing them to -for example- handle ZIP files differently than directory outputs.
Support for nested values in config files
This release adds support for nested dict-like values for custom tasks (see #24), allowing for properties like:
[tasks.example]
type = "custom"
enabled = true
[tasks.example.dict_config_val]
key = "value"
This will result in the following config structure:
{ "dict_config_val": { "key": "value" } }
Support for building custom distributions
Custom packages are now supported, which can now be built like any other package (provided they exist for the target game that is being built). They can be specified by name like any other package:
[builds]
pc = true
mac = true
custom = true
In addition, many of the dependencies that renkit
relies on have been updated to their latest versions.
Install renkit 5.0.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kobaltcore/renkit/releases/download/v5.0.0/renkit-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/kobaltcore/renkit/releases/download/v5.0.0/renkit-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install kobaltcore/renkit/renkit
Download renkit 5.0.0
File | Platform | Checksum |
---|---|---|
renkit-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
renkit-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
renkit-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
renkit-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
renkit-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
Version 5.0.0-alpha.1
Release Notes
This release introduces several new features, some of which include breaking changes.
Introduction of .renpy-version
renutil launch
now supports reading a .renpy-version
file in the project directory to determine the Ren'Py version to use when launching a project in --direct
mode. This file should contain a single line with the Ren'Py version to use (optionally containing trailing newline). If the file is not present, renutil
will require the version to be specified as an argument.
This breaks the CLI API as renutil launch
now doesn't require a version anymore. It can still be specified as an optional argument via the new -v <version>
flag. If it is specified, the version given in the .renpy-version
file will be ignored.
Auto-installation of Ren'Py when using renutil launch
If the Ren'Py version requested when invoking renutil launch
is not installed, renutil
will now automatically download and install it by default. This feature can be disabled either by supplying the --no-auto-install
flag or setting the RENUTIL_AUTOINSTALL
environment variable to false
or 0
. The --no-auto-install
flag will override RENUTIL_AUTOINSTALL=true
for that specific invocation.
renconstruct
Task System Rework
The task system in renconstruct
has been reworked to allow for more flexibility in defining tasks. While this is mostly backwards-compatible, there are some breaking changes:
-
Custom tasks must now accept two additional parameters in their
__init__
method:renpy_path
: Path to the Ren'Py installation used to build the distributions.registry
: Path to the registry directory containing the Ren'Py installation(s).
-
The
pre_build
andpost_build
methods of custom tasks must now accept an additional parameter:on_builds
: A dictionary mapping build names to the paths of the built distributions. The values of this dictionary will beNone
duringpre_build
because nothing has been built at that point. Example:{ "mac": "output/mygame-1.0-mac.zip" }
. Tasks can then opt to either do processing per build artifact or globally, allowing them to -for example- handle ZIP files differently than directory outputs.
Install renkit 5.0.0-alpha.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kobaltcore/renkit/releases/download/v5.0.0-alpha.1/renkit-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/kobaltcore/renkit/releases/download/v5.0.0-alpha.1/renkit-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install kobaltcore/renkit/renkit
Download renkit 5.0.0-alpha.1
File | Platform | Checksum |
---|---|---|
renkit-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
renkit-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
renkit-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
renkit-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
renkit-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |