Repository navigation
v0.5.0
Borea v0.5.0
Borea is the community content manager for Kitten Space Agency: find mods, install them with their dependencies into separate instances of the game, and launch through StarMap.
Website | Discord | Content index | Source and issues
Coming from v0.4.x
Click "Update now" on the Home banner, or run borea update-self.
Your instances, mods and settings stay as they are.
On macOS, Borea is now the app Borea.app, and "Update now" cannot install it over an older Borea: it stops with an unpack error and changes nothing.
Download the App archive once, drag Borea.app into Applications and delete the old Borea folder. Later updates install themselves.
Highlights
- Borea finds KSA when you installed it with the new Ahwoo client, on Windows and on Linux.
- Borea can now be translated by everyone, in the browser, see "Translate Borea" below.
- A mod or pack whose stated
game_maxis older than your game is now Incompatible and cannot be installed, so a game update no longer installs content that its author marked as broken. - On macOS, Borea is a real app with its own name and icon in the Dock.
- Smooth scrolling, and softer hover and dropdown animations, by @BarneyCompiler.
- The Mods tab of a pack is a table, and from there you can use a newer release of a member.
- Discover sorts by "Recently listed", shows what you installed at a glance, and filters by author.
Translate Borea
Borea is now on Hosted Weblate, and anyone can help translate it in the browser, without git and without writing code.
Pick your language, or start a new one, and translate the texts you can. A text that is not translated yet shows in English, so a partial translation already helps.
Weblate sends the changes to Borea as a pull request, which we review, and they reach Borea with the next release.
The pirate translation already has new texts from there, thanks to @Kiwi-Shark.
More about it in the translation guide.
For players
Ahwoo client
- On Windows and Linux, Borea finds KSA when the Ahwoo client installed it, also when you never used the KSA installer.
- If you have both, the old KSA installer and the Ahwoo client, Borea offers both game folders to pick from.
Compatibility
- A mod or pack whose
game_maxis older than your game is Incompatible and cannot be installed, like one that needs a newer game. Content without agame_maxstays Compatible. - Borea no longer shows Untested for content. The chip, the warning and the confirmation are gone.
- A pack that pins a release above its
game_maxis Incompatible, and the pack page names that release and the last game version it supports. - A dependency whose newest release is above its
game_maxfalls back to an older release that fits.
Discover and mod pages
- Sort the Mods and Modpacks tabs by "Recently listed" to find new content first.
- A mod or pack you installed has a green check and an "Installed" chip.
- Click an author name on a row, or on a mod or pack page, to see only the content of that author. A "By " chip removes the filter.
- The Versions tab of a mod page shows the downloads of each release.
- The buttons of a mod or pack page move below the title when the window is too narrow for them, so no button is cut off.
Instances and mod packs
- The lists of an instance line up like a table, also in a narrow window and while a mod updates.
- The Mods tab of a pack is a table. From there you can use a newer release of a member in the instance made from the pack, also when you pinned it, and go back to the pack's version.
- On Windows, changing an instance no longer fails now and then with an "access denied" message.
The App
- Smooth scrolling keeps its speed from notch to notch, and the wheel over a field that cannot scroll moves the page.
- On macOS, Borea opens from Applications with its own name and icon, without a Terminal window, opens
borea://links, and updates the whole app bundle.
For mod authors
- The listing editor shows the dependencies of your mod.toml and helps you add bounds, and it checks the members of a modpack as the index does.
- A fork or a SpaceDock mod can prove that you own it, as the index accepts it.
- The listing editor reads and keeps
tag_prefix, so the index takes only the releases whose tag starts with it. - Before the pull request, the editor checks the folder in your release zip, reads your listed images again and suggests a commit address for an image on a branch, and explains a refused value in words, as the index does.
For stewards
- A Steward entry in the navigation rail.
- Released archives that are gone from their host on the Watcher tab, and release changes and dependency removals on the author's behalf.
- Comment on, close and reopen a report from the Reports tab.
Command line
- The CLI says incompatible instead of untested.
pack searchandpack showrate a pack by its pinned releases too, andpack installandpack updatename the bound that blocks.
Good to know
- This version is tested with KSA 2026.10.19.5638.
- Borea ships with the .NET runtime 10.0.13, as v0.4.1 does.
- Borea is a community project by the KSA Modding team. It is not made by RocketWerkz.
Downloads
| File | SHA-256 |
|---|---|
| Borea-0.5.0-linux-x64.tar.gz | 3dad6ef0ed92bd1a4e891e7fedb4f304440a576212c0748a7477dac5c3c74c72 |
| Borea-0.5.0-macos-arm64.tar.gz | 35817c2f96f89500c62853ba56126daff337b0a6c5d2b64a2501c011f22aa3ff |
| Borea-0.5.0-win-x64.zip | 1b3c0e68cbe66caa20bff737d1e6a96192c81a3772251e94f6214cc03e49dd30 |
| Borea-0.5.0.cdx.json | 101d5d04c76856103a2d21cfe5b1e28aa33ec5551c0a106437395a1c2c001571 |
| Borea-Cli-0.5.0-linux-x64.tar.gz | ef5309c509dd3f73207492c633a2007841ab7ded347a8975b3a162a5c8006a73 |
| Borea-Cli-0.5.0-macos-arm64.tar.gz | 28286f97d564e09b17225748fe5ca9ef7993cf14fe9ce442832cca67f6b04133 |
| Borea-Cli-0.5.0-win-x64.zip | ffa67f7386c2853acd2a02efac0d66c936dde68cbb612533c146b98e7982419c |
| Borea-Cli-0.5.0.cdx.json | 177059caef5df4e76f337b6d71508521841785c542ffc80b83a23adacff998e3 |
Each platform has two archives.
The App archive, for example Borea-<version>-win-x64.zip, contains the program borea.
Without arguments, borea opens the desktop App, and with arguments, it runs a command.
Most users want this archive.
Archives whose names start with Borea-Cli- are a smaller download that contains only the command line.
The builds include the .NET runtime and are self-contained, so there is nothing to install first.
Each archive contains borea (borea.exe on Windows), LICENSE and THIRD-PARTY-NOTICES.txt, in a folder named Borea, or Borea-Cli for the CLI archive.
The App archive also contains BRANDING.md, because the Borea logo in the App is not covered by the MIT License.
On macOS, the App archive unpacks into Borea.app instead, with the same files inside.
Put that folder where it can stay, for example %LocalAppData%\Programs\Borea on Windows, ~/.local/share/Borea on Linux or Applications on macOS, because Borea updates itself into the folder it runs from.
First start
These builds are not code signed, so the first start might take an extra step on Windows and macOS. The README has the long explanation.
Code signing policy: https://ksamodding.github.io/Borea/code-signing.html
Windows. Right-click the zip, open Properties and select Unblock.
Then unpack the App archive and start borea.exe, or run .\borea.exe --help in PowerShell in the unpacked folder of either archive.
Without that step, Windows shows "Windows protected your PC". This is because the file might not be downloaded often and is not signed. Select "More info", then "Run anyway".
Linux. Unpack the App archive and run ./borea for the App, or run ./borea --help in the unpacked folder of either archive.
After the App has started once, Borea is in the application menu and starts from there without a terminal.
Both need the ICU and OpenSSL libraries of your distribution, and only the App also needs the X11, ICE, SM and fontconfig libraries. Most desktop installs already have them. See Readme.
macOS. Double-click the App archive to unpack it, drag Borea.app into Applications and open it.
macOS says that Apple could not verify Borea. Select Done, then open System Settings, Privacy & Security, and select "Open Anyway" there.
For the command line, run /Applications/Borea.app/Contents/MacOS/borea --help, or unpack the CLI archive and run ./borea --help in the new folder.
The macOS builds are for Apple silicon. Intel Macs are not supported.
Provenance
To check that a file came from this workflow:
gh attestation verify <file> --repo KSAModding/Borea \
--signer-workflow KSAModding/Borea/.github/workflows/release.yml
Borea-0.5.0.cdx.json is the software bill of materials for the App archives, in CycloneDX JSON.
The App contains the command line, so this list includes the NuGet packages of the App and of the CLI.
Borea-Cli-0.5.0.cdx.json is the software bill of materials for the CLI archives and includes only the packages of the CLI.
Each list includes the version, license and hash of every package.
Each list is attested only to the archives that it describes, and you can use this command to prove that it belongs to one.
With --format json, the output includes the attested list.
gh attestation verify <archive> --repo KSAModding/Borea \
--signer-workflow KSAModding/Borea/.github/workflows/release.yml \
--predicate-type https://cyclonedx.org/bom
Signing is prepared in #678. Until it is in place, the checksums and the attestation above are how a file is checked.
Code signing policy: https://ksamodding.github.io/Borea/code-signing.html
What's Changed
- Added smooth scrolling, updated hover and dropdown animations by @BarneyCompiler in #718
- Clarify who "KSAModding" actually is in the readme by @averageksp in #720
- Count newer pack members by the rule of RFC 0080 by @Maximilian-Nesslauer in #715
- Check the animations in the tests without a time bound by @Maximilian-Nesslauer in #727
- Fix the rare macOS failure of the sign-in after a cancel test by @Maximilian-Nesslauer in #725
- Keep reads of an instance record apart from its save by @Maximilian-Nesslauer in #724
- List the releases gone from their host on the Watcher tab by @Maximilian-Nesslauer in #728
- Widen a release on the author's behalf by @Maximilian-Nesslauer in #730
- Follow the ownership proofs of RFC 0079 in the listing flow by @Maximilian-Nesslauer in #731
- Use a newer member release from the Mods tab of a pack by @Maximilian-Nesslauer in #723
- Show an installed mod at a glance on Discover by @Maximilian-Nesslauer in #732
- Check the smooth scroll curve itself, not a frame in the middle by @Maximilian-Nesslauer in #734
- Help authors fill in the dependencies of a listing by @Maximilian-Nesslauer in #733
- Check pack members in the listing editor as the index does by @Maximilian-Nesslauer in #735
- Add KSA 2026.10.10.5554 to the verified builds by @Maximilian-Nesslauer in #737
- Copy the vectors of content-index after the since and dependency checks by @Maximilian-Nesslauer in #736
- Remove a declared dependency on the author's behalf by @Maximilian-Nesslauer in #740
- Open the Steward page from the navigation rail by @Maximilian-Nesslauer in #738
- Wrap the header buttons below the title when they do not fit beside it by @Maximilian-Nesslauer in #739
- Collect property changes safely in the install steps tests by @Maximilian-Nesslauer in #742
- Add the release notes of v0.5.0-dev.1 by @Maximilian-Nesslauer in #743
- Show the downloads of each release on the Versions tab by @Maximilian-Nesslauer in #747
- Check listed images on open and suggest a commit address by @Maximilian-Nesslauer in #748
- Say before the pull request when Borea could not check the release zip by @Maximilian-Nesslauer in #749
- Wait for every task field a self-update test checks by @Maximilian-Nesslauer in #752
- Comment on, close and reopen a report in Borea by @Maximilian-Nesslauer in #753
- Add KSA 2026.10.13.5602 to the verified builds by @Maximilian-Nesslauer in #754
- Build with .NET 10.0.13 and let Dependabot update the lock files by @Maximilian-Nesslauer in #759
- Merge release/v0.4 back into main by @Maximilian-Nesslauer in #763
- Bump actions/download-artifact from 8.0.1 to 8.0.2 by @dependabot[bot] in #764
- Bump actions/upload-artifact from 7.0.1 to 7.0.2 by @dependabot[bot] in #765
- Bump actions/setup-node from 7.0.0 to 7.1.0 by @dependabot[bot] in #766
- Check that the release notes ease with the wheel by @Maximilian-Nesslauer in #750
- Keep the speed of the smooth scroll from notch to notch by @Maximilian-Nesslauer in #756
- Bump the minor-and-patch group with 10 updates by @dependabot[bot] in #767
- Block content above a stated game_max (RFC 0091) by @Maximilian-Nesslauer in #760
- Sort Discover by recently listed by @Maximilian-Nesslauer in #757
- Read, show and keep tag_prefix under [releases] of a listing by @Maximilian-Nesslauer in #761
- Line up the lists of an instance like a table by @Maximilian-Nesslauer in #775
- Find KSA through the uninstall entry of the Ahwoo client on Windows by @Maximilian-Nesslauer in #774
- Check listings as content-index #207 does by @Maximilian-Nesslauer in #777
- Closes part of #678. This is the paperwork half, no signing step and no certificate yet. by @averageksp in #717
- Add the release notes of v0.5.0-dev.2 by @Maximilian-Nesslauer in #778
- Ship Borea as an app bundle on macOS by @renancamm in #768
- Point translators to Hosted Weblate by @Maximilian-Nesslauer in #779
- Label Weblate pull requests with translation and their languages by @Maximilian-Nesslauer in #782
- chore(l10n): update translations by @weblate in #781
- Make the smooth scroll takeover test independent of frame timing by @Maximilian-Nesslauer in #785
- Find KSA through the manifests of the Ahwoo client on Linux by @Maximilian-Nesslauer in #786
- Filter Discover by an author name by @Maximilian-Nesslauer in #787
- Add the release notes of v0.5.0-dev.3 and v0.5.0 by @Maximilian-Nesslauer in #788
- Add KSA 2026.10.19.5638 to the verified builds by @Maximilian-Nesslauer in #789
New Contributors
- @BarneyCompiler made their first contribution in #718
- @weblate made their first contribution in #781
Full Changelog: v0.4.1...v0.5.0