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.