Skip to content

Release v2.0.0 - Major Rewrite (AssetGuard, JavaGuard, DistroManager)

Compare
Choose a tag to compare
@dscalzi dscalzi released this 24 Mar 21:52
· 28 commits to master since this release
e4ddf89

Release v2.0.0

This release includes new implementations of several core mechanisms of Helios Launcher. The new implementations replace the Distribution manager, AssetGuard, and JavaGuard. All rewritten code leverages the full power of Typescript and modern Javascript APIs. This has resulted in a more maintainable, robust, and concise codebase. Remember, async/await was not even stable in Node when v1 was being written!

For technical details on the new implementations, see the helios-core release notes https://github.com/dscalzi/helios-core/releases/tag/v2.0.0

Highlights

  • Support for Helios Distribution Spec v1.2.0.
  • Support for SRV records in server status api (#120)
  • Java settings per server (through the distribution), and full support for pack-specific ram (#154)
  • Downloads are retried up to ten times. This will fix issues with the Mojang resource urls timing out.
  • Robust download error handling, you should never get stuck at 99% again.
  • RAM increments are now correctly resolved in increments of 512 MB (instead of 500MB).
  • ..and much more! Check out the code changes 😄

Breaking Changes of Note

As this is a rewrite, there are a lot of breaking changes. Most of the changes should be self evident, these might not be as obvious.

  • Pack.xz format is no longer supported. Older versions of forge no longer ship as .pack.xz and even the JDK removed Pack200 starting in JDK 14. The solution to this is simple, host your jar files as .jar and not as .jar.pack.xz.
  • The location of the distribution url has changed. It is now stored in exports.REMOTE_DISTRO_URL in distromanager.js (line 7).
  • Dev distribution must now be named distribution_dev.json, instead of dev_distribution.json.

Full changeset #270

Note for Forks

Helios 1.x is no longer supported, I would highly recommend upgrading your forks to v2 at the earliest convenience. If you have any questions, please ask them either on Discord or on the GitHub discussion for this release. Please make sure to test your upgrades before shipping to production. Report any issues you find in the base code, and they will be fixed. Thank you!