Skip to content

Releases: mindstorm38/portablemc

Version 2.3.0 - ARM support

06 Feb 10:29
Compare
Choose a tag to compare

Changes:

  • New --lwjgl argument in start subcommand to allow running Minecraft on ARM with updated versions of LWJGL, see README for more information (#62, thanks @GooseDeveloper).
  • In the API, get_minecraft_arch now supports ARM architectures and returns arm32 or arm64 in such cases (#62).
  • Natives archives extraction to bin directory now supports newer formats for LWJGL (#62).
  • Many improvements regarding KeyboardInterrupt, in DownloadList, pretty_download and all command in CLI, in order to write a prettier interrupted message, instead of the default stack trace.

Download and install:

To install PortableMC, please read this repository README, the single-file script is available below in the portablemc-single archive.

Version 2.2.2 - Fix batch

30 Dec 14:28
Compare
Choose a tag to compare

Changes:

  • Network-related errors are now handled for every sub-command handler, it avoids rewriting try..except for each command handler. (#58).
  • Added a "sync" attribute to 'VersionManifest' class to know if the data is in sync with online manifest (#59).

Fixes:

  • The print_task function has been fixed to avoid printing a useless newline when using keep_previous=True with an empty previous line.
  • It's possible again to launch local versions if no internet is available, this issue was a side effect of previous changes (#57).

Download and install:

To install PortableMC, please read this repository README, the single-file script is available below in the portablemc-single archive.

Version 2.2.1 - Forge addon and various fixes

22 Dec 19:09
Compare
Choose a tag to compare

Changes:

  • New forge addon to install and run forge directly via the command line (#29).
  • Extract HTTP part from json_request method to a common http_request function and added it to __all__.
  • Added new replacement variables that seems supported by official launcher and used by forge installed metadata.
  • When preparing version libraries, libraries with no URL are now defaulting to libraries.minecraft.net maven server.

Fixes:

  • Fixed pretty logging file not being created if original one is not downloaded. The only issue is that no login configuration was loaded.
  • Fixed a critical error in DownloadList.download_files() when non-OK HTTP status code was returned.

Download and install:

To install PortableMC, please read this repository README, the single-file script is available below in the portablemc-single archive.

Version 2.2.0 - Indirectly fixed log4j exploit (please update)

11 Dec 13:21
Compare
Choose a tag to compare

Changes:

  • Version manifest is now cached locally.
  • Versions metadata files are now updated if a newer version is provided by Mojang.
  • A new global argument is available --timeout <seconds> is available to change how the launcher (and addons) should handle timeout on some requests. Launcher and addons are free to use or not this argument.

Fixes:

  • Log4j exploit fixed indirectly from changes of the version manifest management (#52).

Download and install:

To install PortableMC, please read this repository README, the single-file script is available below in the portablemc-single archive.

Version 2.1.0 - Fixes and improved add-on API

05 Dec 17:46
Compare
Choose a tag to compare

Changes:

  • Improved print_table API in CLI module, now considering terminal width to avoid overflowing and reducing columns width in such cases, also adding ellipsis to the cell's text.
  • Improved add-on API, now possible to import portablemc and portablemc.cli directly from add-ons. Add-ons should now define all functions/classes directly in the module, and no longer the load() function. This works for both PIP-installed and single-script versions of PMC. All add-ons have been updated.
  • Added an API documentation.
  • New function get_addon_mod in CLI module to directly get the module of an add-on by its name.
  • The constructor of AuthSession no longer requires the legacy_filename argument, none by default.
  • Moved the old fix (betacraft proxy and legacy merge sort) from archives add-on to the core API, the --no-old-fix argument has been moved.
  • In archives add-on, now updating archives metadata id to the real name of the version's directory.
  • In fabric add-on, now adding an empty jvm arguments into the generated version metadata.

Fixes:

  • Fixed broken deterministic username and UUID (#50, thanks @intact).
  • Fixed non-existing fields when fixing authentication database, with Yggdrasil in particular (#49, thanks @Ristovski).
  • Fixed MicrosoftAuthSession.authenticate_base to handle error in Microsoft OAuth request in case of token refreshing with an invalid token.
  • Fixed a potential issue with DownloadList.reset(), count and size were not reset to 0.
  • Fixed a potential issue with executable permission definition in JVM download callback.

Download and install:

To install PortableMC, please read this repository README, the single-file script is available below in the portablemc-single archive.

Version 2.0.6 - Modrinth addon and small fixes

20 Nov 10:49
Compare
Choose a tag to compare

Added:

  • Modrinth addon in beta version (see README and help command using portablemc modr -h).
  • A format_number function in the CLI used to add suffixes (k, M, G) to a number to shorten it), the format_bytes function now use it.
  • A ellipsis_str function to add ellipsis to a string if it exceeds a given size.

Changed:

  • UUID and username are now deterministic if not specified in the command line (#46).
  • When actually download a DownloadList, entries with no size are updated with the downloaded size after downloaded, it allows seeing the real total downloaded size after a download.

Download and install:

To install PortableMC, please read this repository README, the single-file script is available below in the portablemc-single archive.

Version 2.0.5 - Critical JVM fix

19 Oct 06:34
Compare
Choose a tag to compare

Fixed:

  • Launcher can now be launched with automatic JVM downloading in a non-existing main-directory (#45).

Download and install:

To install PortableMC, please read this repository README, the single-file script is available below in the portablemc-single archive.

Version 2.0.4 - JVM integrity check and 1.18 support

03 Oct 20:57
Compare
Choose a tag to compare

Fixed:

  • When using portablemc login [...] sub command with a non-existing working directory, this directory is now created.
  • No longer crashing when a specific version manifest is using an unknown replacement variable in arguments.

Added:

  • Now supporting newer clientid and xuid replacement variables and arguments for 1.18 version manifests (#41).
  • Added support for a PMC_ADDONS_PATH environment variable that can be used to specify multiple directories where to include add-ons. To specify multiple directories, use an adequate path separator (; for windows, : for unix). You can check add-ons directories using portablemc addon dirs.

Changed:

  • When using Mojang Java Virtual Machine (JVM), the JVM's manifest is now cached and used on each launch to check integrity of the JVM installation (#33, thanks @GoodDay360).

Download and install:

To install PortableMC, please read this repository README, the single-file script is available below in the portablemc-single archive.

Version 2.0.3 - Fixed critical issue that prevented offline launch

21 Sep 15:50
Compare
Choose a tag to compare

Fixed:

  • The launcher is now usable in offline mode, the version metadata file is now loaded only if needed (for example if you specify no version, or alias version such as release or snapshot, in these cases the launcher requires an internet connection).
  • Fixed encoding comment from # encoding: utf8 to # encoding: utf-8, this was crashing with my python 3.6 install.
  • Typo for internal errors.

Changed:

  • JVM version is no longer fetched on each launch, now this is only fetched when the java (unix) or javaw.exe (win) executables are missing from the JVM installation.
  • Improved the error message for socket errors to be more understandable.

Download and install:

To install PortableMC, please read this repository README, the single-file script is available below in the portablemc-single archive.

Version 2.0.2 - Fixed critical Microsoft session issue

05 Sep 20:17
Compare
Choose a tag to compare

Fixed:

  • Fixed a critical issue for Microsoft session refreshing, it's also important to note that Microsoft authentication is now actively tested at least for my personal account.
  • Fixed encoding comment in python file from utf8 to utf-8 because of an issue with python 3.6 (at least).

Changed:

  • Added a warning when using -m (--microsoft) without -l (--login) on start sub command (#31).
  • Improved README.

Download and install:

To install PortableMC, please read this repository README, the single-file script is available below in the portablemc-single archive.