Releases: mindstorm38/portablemc
Version 4.4.0 - Babric and fixed NeoForge
Changes
- API, CLI, added Babric mod loader support (#219, thanks @Johan-Mi)
- API, fixed NeoForge installation for non 1.20.1 versions (#223, thanks @Ristovski)
- API, fixed bulk download handle of redirects and HTTP protocol (linked to #219)
- API, added assertions to ensure that a download entry's destination is not added twice (#200, thanks @AinRyzen)
- Doc, migrated Minecraft wiki links (#225, thanks @SNWCreations)
- Internal, more assertions in version manifest for passing static analysis
Version 4.3.0 - LegacyFabric and various tweaks
Changes
- CLI: Improved authentication error messages (#199)
- CLI: Added support for starting and searching legacyfabric (#205, thanks @BluCobalt)
- CLI: Fixed an issue with stdout/stderr where encoding was not UTF-8 and therefore crashes the launcher in some case, reported on Windows (#210, thanks @marewey)
- CLI: Running the game in dry mode now build the command line, that can be shown using
-vv
verbosity flag - API: Added support for "legacyfabric" fabric unstable API (#205, thanks @BluCobalt)
- API: Automatic XML log detection has been improved (#209)
- API: Fixed a potential bug for invalid HTTP response when batch downloading
Version 4.2.1 - Autocompletion support
Changes
- API: Forge (not including NeoForge) alias
-recommended
or-latest
can now fall back to the other one if not found. (#189, thanks @MisileLab) - API: The methods
get_authentication_url
andget_logout_url
from classMicrosoftAuthSession
are now deprecated. - CLI: Microsoft authentication has been improved to support systems where no browser can be found. If the launcher cannot find a web browser, or the option
--auth-no-browser
has been set, the user can authenticate on another computer and then copy-paste the token in the terminal. (#194, thanks @theoparis) - CLI: Shell completion for Bash and Zsh to generate with
show completion
. (#111, suggestion from @JamiKettunen) - CLI: The temporary local server is now using a dynamically allocated port.
- CLI: Added a deprecation info message when using Yggdrasil (Mojang) authentication.
- CLI: Fixed formatting of numbers.
- CLI: Improved some commands help messages, looking forward to improving the CLI.
- Misc: The
certifi
extra has been added to the package to explicitly specify the dependency (install withpip install portablemc[certifi]
). - Doc: Fixed doc links (for PyPI rendering).
- Doc: Added sponsors to documentation.
- AUR: The AUR package automatically installs autocompletion scripts (thanks to Maks Jopek).
Note
Version 4.2.0 has been abandonned due to wrong build being pushed to PyPI.
Version 4.1.0 - NeoForge support
Changes
- API: LWJGL fix can now support all present and future 3.3.* versions, including 3.2.3 like before (#181, thanks @snoopchallenge)
- API: Added unstable support for NeoForge repository in
ForgeVersion
(#180, thanks @MisileLab) - API: Added a default User-Agent for HTTP requests (not for downloads) of
portablemc/<version>
- CLI: LWJGL fix is no longer restricted to specific values, you can enter any value and the launcher will raise an error (download error if the version is not yet available) if it is not supported (#181)
- CLI: Added support for NeoForge launch with
neoforge:
id and associated--neoforge-prefix
argument (#180) - CLI: Notice about the
--login
argument when using thjelogin
command (#182, thanks @superniels09) - CLI: Search is not yet supported for NeoForge!
- Doc: Improved README
Version 4.0.3 - CLI tips to run offline
Changes
- CLI: When socket errors happen with the
search
andstart
commands, the CLI provides tips to use it in offline-mode - CLI: Fixed a concerning issue where the locally cached version manifest was not used for the
start
command.
Version 4.0.2 - Patches
Changes
- CLI: Fixed some printing issues with authentication
- CLI: Better error message for network errors, and less verbose by default (use -v instead when backtrace needed)
- API: Fixed issues with relative path for work/main directories: relative paths are still usable in the launcher code, but when running sub processes, absolute paths are used instead (#171, thanks @RiverRyan3000)
- API: Retro-compatible changes to HttpResponse and HttpError to support network error wrapping (#173, thanks again @RiverRyan3000)
- Doc: Improved API documentation about authentication and runners (#172, #174, thanks @creeper-0910 and @JXSnack)
- Doc: Updated README illustration (#167)
Version 4.0.1 - Patches
Changes
- CLI: Now using Bytes instead of octets for download progress (#164, thanks @Ristovski!)
- API: Standard events
VersionLoadingEvent
,VersionFetchingEvent
,JarFoundEvent
,LibrariesResolvingEvent
andJvmLoadingEvent
are now using slots - API: Forge events
ForgePostProcessingEvent
andForgePostProcessedEvent
are now using slots - API: Batch download API (
portablemc.download
module) now supportcertifi
as an SSL context provider and also supports optional URL port - API: Fixed some rare unhandled connection errors that happened when downloading
- Dev: Added tests for forge/fabric/quilt loader version resolving
- Doc: Improved versioning and stability documentation of the API
Version 4.0.0 - Rewrite!
Changes
API: Full rewrite of the API (except for authentication), brand-new installation process and configuration, supporting event-based diagnostics (#114)
API: New fixes API allowing fixing previse components on demand
API: Fixing LWJGL to a specific version is now included in the API, through the new fixes API
API: Support for fixing LWJGL to version 3.3.2 (#148, thanks @snoopchallenge)
API: Fixing wrong JVM executable path on macOS (#156, #149, thanks @allen546 and @plushTeddy)
API: Fixing multiplayer button being disabled in offline mode for versions 1.16.4 and 1.16.5 (#154, thanks @unaiiglesias)
API: Supporting quick play arguments on modern versions, with retro-compatible support for older ones (#153, thanks @cunhar)
API: Better internal HTTP request API, with easier response and error handling
API: Fabric and Quilt now included by default in the API
API: Forge now included by default in the API
API: Forge installation is no longer running the installer manually, it instead read its inner metadata and manually run processors if required, supporting all versions providing an installer (#133, thanks @rutexd)
API: Resources downloading is no parallelized, much, much faster!
CLI: Wider support of the --timeout
argument
CLI: Output format can be selected using the --output
argument, supporting by default human
and machine
outputs, and the default human-color
with a bit of coloring
CLI: Verbosity can be set using one or more -v
flag, mostly supported by start
command
CLI: Search command has no more -l
(--local
) flag, instead a -k
(--kind
) has been introduced that support searching for mojang
(like before), local
(equivalent of old -l
flag), forge
, fabric
and quilt
mod loader versions
CLI: On start, login and logout commands, the -m
(--microsoft
) has been replaced with --auth-service
, which now defaults to Microsoft, but still support Yggdrasil
CLI: Start flag --anonymise
has been replaced by --auth-anonymize
CLI: Start flag --no-old-fix
replaced with --no-fix
, because fixes now also applies to modern versions
CLI: Start argument --lwjgl
additionally support version 3.3.2
CLI: Start argument --resol
renamed --resolution
CLI: When starting the game, the game's logs are now formatted by the launcher itself with better Ctrl-C support, therefore the flag --no-better-logging
has been removed
CLI: Fixed Ctrl+C on Windows (#133)
CLI: No add-on support, for now
Doc: Documentation has been fully reworked, both for CLI and API!
Dev: The repository is no longer a mono-repo, everything interesting will be included directly in the launcher now
Dev: Launcher's sources are now better split in proper modules
Dev: Improved GitHub workflow to avoid running for doc changes
Dev: Now requiring poetry 1.2 at least, and added pytest/toml tests requirements
Contrib: Additional thanks to @Ristovski and @GoodDay360 for their feedbacks! And @TickingFeather for fixing typo in documentation!
Version 3.3.1 - Fixed regression
Changes
- API: Fixed a regression that caused hard errors when no download entry was found for a particular library (thanks @michaelkargl, #138).
Version 3.3.0 - Certifi support and improved library resolution
Changes
- CLI: Improved global errors reporting, should provide clean stack traces;
- API: When no library's path is given in version metadata, it can be guessed from the given URL (this URL must target Mojang's CDN), if no URL is provided nor based on Mojang's CDN an error is raised (thanks @ItsNiceCraft, #136) ;
- API: When
certifi
package is installed, it is used as Root Certificates database, which is sometimes faster than waiting for your OS' database update (thanks @slenered, #134); - API: Added constants for common resources URLs;
- API: The download APL is finally using a memoryview in order to reduce memory allocations when downloading.