Skip to content

Release v1.7.0 - Rebrand to Helios Launcher, Various Fixes.

Compare
Choose a tag to compare
@dscalzi dscalzi released this 17 Oct 23:51
· 147 commits to master since this release

Release v1.7.0

The project has been rebranded to Helios Launcher (formerly Electron Launcher). Development since v1.6.0 has mostly targeted this effort, as well as general maintenance to make sure the application is performs as expected. Noteworth changes will be detailed below.

Migration to AdoptOpenJDK

Automatic Java installation broke last year as Oracle put downloads for JRE 8 behind a login page. To mitigate this, we've switched to AdoptOpenJDK, a service which hosts prebuilt OpenJDK binaries. This change brings two added benefits. The first is that we no longer have to scrape download urls off of webpages, as AdoptOpenJDK provides an API. The second is that we are no longer dependent on Oracle, especially with the licensing changes that have started to come into effect.

In the future, the Java discovery system should be upgraded to become more robust and extensible. As of right now, we are not searching known OpenJDK paths for binaries. As with most programs, just add the location to JAVA_HOME to have the launcher discover it.

As a final note, cpw's ModLauncher only supports the HotSpot VM. If you are extending the launcher, keep that in mind.

Update to 1.13 Sample

The launcher does support 1.13, and hopefully 1.14. I have not personally tested a 1.14 configuration at this point. The sample configuration included in this repository has been updated to support forge's latest (and presumably final) 1.13 release. See the sample configuration for details.

Switch to Electron-Builder's Programmatic API.

This is a minor change, althouth I feel it's worth noting. We now invoke Electron-Builder through its programmatic API via build.js. The build scripts have been updated and now point to this.

Eventual Language File Support

I've begun the process of moving all strings to a language file so that they can be more easily changed without having to look through each file. This process is partially complete, supporting all HTML files and a handful of Javascript files. No ETA on when this effort will be complete, as it's a tedious and non-imperative task.

Future Plans

The future of this project will take one of two forms.

  • Project Rewrite - I've learned a lot implementing the initial version of Helios Launcher, and now see various ways in which the project can be improved. A large goal of any rewrite would be to make the core functionality more modular, allowing better independence of version support. Another task would be to rewrite the UI using either Vue or React. This would be an enormous task and require a lot of time, planning, and effort. As such, I really only see it being worthwhile if there would be a large enough demand for the end-product. After all, version 1 works fine and can be maintained indefinitely.

  • Long-term Maintenance - This would pretty much be exactly what I've been doing the last 7 months. QOL updates, dependency upgrades, and adding compatibility with new versions of MC/Java as they come out.

As this is the first update in 7 months, the commit list is rather long. As such, I will not be listing each individual change. More details on what's been changed can be viewed here:

v1.6.0...v1.7.0