Releases: mindstorm38/portablemc
Version 2.3.0 - ARM support
Changes:
- New
--lwjgl
argument instart
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 returnsarm32
orarm64
in such cases (#62). - Natives archives extraction to bin directory now supports newer formats for LWJGL (#62).
- Many improvements regarding
KeyboardInterrupt
, inDownloadList
,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
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
Changes:
- New forge addon to install and run forge directly via the command line (#29).
- Extract HTTP part from
json_request
method to a commonhttp_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)
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
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
andportablemc.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 thelegacy_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
andsize
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
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), theformat_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
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
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
andxuid
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 usingportablemc 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
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
orsnapshot
, 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) orjavaw.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
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
toutf-8
because of an issue with python 3.6 (at least).
Changed:
- Added a warning when using
-m
(--microsoft
) without-l
(--login
) onstart
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.