Skip to content

Releases: mindstorm38/portablemc

Version 4.4.0 - Babric and fixed NeoForge

13 Jul 09:01
Compare
Choose a tag to compare

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

21 Apr 21:16
Compare
Choose a tag to compare

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

09 Feb 20:54
Compare
Choose a tag to compare

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 and get_logout_url from class MicrosoftAuthSession 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 with pip 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

09 Nov 20:26
Compare
Choose a tag to compare

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 thje login command (#182, thanks @superniels09)
  • CLI: Search is not yet supported for NeoForge!
  • Doc: Improved README

Version 4.0.3 - CLI tips to run offline

08 Oct 09:57
Compare
Choose a tag to compare

Changes

  • CLI: When socket errors happen with the search and start 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

27 Aug 08:37
Compare
Choose a tag to compare

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

11 Aug 20:31
Compare
Choose a tag to compare

Changes

  • CLI: Now using Bytes instead of octets for download progress (#164, thanks @Ristovski!)
  • API: Standard events VersionLoadingEvent, VersionFetchingEvent, JarFoundEvent, LibrariesResolvingEvent and JvmLoadingEvent are now using slots
  • API: Forge events ForgePostProcessingEvent and ForgePostProcessedEvent are now using slots
  • API: Batch download API (portablemc.download module) now support certifi 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!

05 Aug 10:42
Compare
Choose a tag to compare

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

01 Apr 13:55
Compare
Choose a tag to compare

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

01 Apr 10:21
Compare
Choose a tag to compare

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.