- Several issues related to bad URLs returned by the Curse servers have been fixed.
The Curse platform does not use valid URLs according to [RFC 3986, section 2](https://tools.ietf.org/html/rfc3986#section-2) by including spaces and UTF-8 characters without percent encoding them.
This affected pretty much all modpack imports. You may want to reimport them if you were affected by this.
- GH-1780, GH-2102, GH-2103: Multiple issues with the build system and packaging on linux have been fixed.
- Installed libraries now no longer have `RPATH` set and have the correct file permissions when using the `lin-system` layout.
- Installation using the `lin-bundle` layout has been fixed on platforms that use position independent code.
-`CMAKE_INSTALL_PREFIX` and `DESTDIR` now behave as expected on linux platforms.
- MultiMC no longer logs the process environment and launch scripts to its log files.
- GH-2089: Mention of instance tracking has been removed from the deletion confirmation dialog.
- GH-2087: The obsolete 'revert to vanilla' logic that was previously applied to versions has been removed.
This should remove some confusing situations that could happen while changing and manipulation instance versions.
- The temporary `Minecraft.jar` is now removed from the instance after it stops running.
- GH-2119: The main instance view scrollbar now correctly updates when the window is resized without changing the number of icons that can fit into it horizontally.
- Contact with Mojang, Forge and LiteLoader servers is no longer handled by MultiMC, but a metadata server. Instead of generating and storing the files at the point of installation, they are updated hourly on the server and can be fixed when something goes wrong.
This goes along with some changes to the instance format and to the metadata format.
Instead of including the metadata JSON files directly in the instances, the instances now contain a new `mmc-pack.json` file that specifies versions to be used.
The metadata can be found at [v1.meta.multimc.org](https://v1.meta.multimc.org), the [meta.multimc.org](https://meta.multimc.org) endpoint that was used during development will be replaced by documentation.
This should be a much more reliable solution going forward, because it allows fixing issues without releasing new versions of MultiMC or reinstalling Forge/LiteLoader/others.
- Tracking of FTB launcher instances has been replaced with direct import of Curse modpacks.
You can import the modpack zip files from CurseForge and FTB:
- Get the zip, for example from [here](https://www.feed-the-beast.com/projects/ftb-retro-ssp/files/2219693).
- Drag & Drop it on top of the main window, or select it in the new instance dialog.
- Let the magic happen.
If you need help moving over your old instances or worlds from the FTB launcher, stop by in the MultiMC discord server.
The Curse import functionality is there thanks to the work [@Dries007](https://twitter.com/driesk007) and [@NikkiAI](https://twitter.com/NikkyAI) have done on [CurseMeta](https://cursemeta.dries007.net/).
- GH-1314: MultiMC now allows replacing the main jar in an instance without having to mod the Mojang jars.
This goes along with changing the wording of the jar mod button to make it clear that it adds files to the main Minecraft jar instead of installing mod files with the `.jar` extension.
- Because the current instance format can now handle replacing the main jar, Legacy format instances are no longer directly supported.
Instead of launching, you will be prompted to convert them to the current instance format.
If the automated process fails, stop by in the MultiMC discord server and ask for help.
- Main window UI has been changed for increased clarity.
Many people had issues finding the settings and instead ended up using the per-instance overrides. The main toolbar now has labels and the per-instance overrides have been deemphasized by removing the direct path to them from the main window. In general, it should be easier to find the right settings menu without getting things completely wrong on the first try.
- GH-1997: MultiMC now supports Java 9.
This does not mean that the current mod loaders and mods do, but you can run Vanilla Minecraft with Java 9 now.
However, Java 9 will come up last in the lists when multiple versions are installed and its use is strongly discouraged.
- GH-2026: You can launch Minecraft 1.13 snapshots - and hopefully also 1.13 once it is released.
The bare minimum of changes needed for 1.13 to launch has been done.
This does not mean support for modded 1.13!
It is not yet clear what it will even look like and what exactly will be needed for Forge to be able to install properly.
- Bundled Qt libraries have been updated to version 5.6.3 on macOS and Windows
This means less issues with SSL encryption on macOS and better support for HiDPI/retina displays, along with many bug fixes.
The workarounds for SSL problems on macOS have been removed thanks to this.
- Linux builds were moved to a newer version of Ubuntu (14.04)
This means better support on newer distribution releases, and dropping support for older distributions.
- Bundled OpenSSL library on Windows no longer requires Visual Studio runtime libraries.
This should avoid issues with missing runtime libraries.
- GH-1855: The instance window now has an offline launch button.
- GH-1886: UI now clarifies that MultiMC proxy settings do not apply to the game.
- It is now possible to package MultiMC on linux without hacks.
The build system has a concept of 'install layouts'. Example Arch linux package that uses this (multimc-git) is [available in the AUR](https://aur.archlinux.org/packages/multimc-git).
- Wrapper commands now support arguments.
Previously, they would be treated as a single command -- spaces and all.
- UI elements that set maximum JVM memory are now limited to the amount of system memory present.
Before, they were hardcoded.
This is to accommodate the needs of some new mods for ancient Minecraft versions that do not work well with the applet wrapper.
- On instance launch, the used GPU and graphics driver are reported - but only on linux.
Other platforms will hopefully get this in the future.
- There are some under the hood improvements for ancient Minecraft versions and versions not provided by Mojang.
- The `haspaid` parameter is set for the applet wrapper.
- MultiMC will prefer to use `.minecraft` instead of `minecraft` folder inside the instances now.
- There is some preliminary support for classic multiplayer - see [this workflowy list](https://workflowy.com/s/2EyDMcp7CU#/1cbfc198cf28) for details.
- A new `noapplet` trait has been added to allow running legacy Minecraft versions without the applet wrapper.
- Mods without changed metadata (Example Mod) are now listed under their filename instead.
- Tweaker list in metadata now overrides the order of already present tweakers.
MultiMC now uses its new API. If you used a custom API key before, you will need to generate a new one.
- GH-1873, GH-1873, GH-1875 : The main window can now be closed regardless of running instances and running instances directly will not create a main window.
- GH-1854: MultiMC should no longer crash when the instance is closed while the kill confirmation dialog is open.
- GH-1956: Launch will abort sooner when important files are missing.
- GH-1874: Instance launching and updating MultiMC are now mutually exclusive.
It was possible to do both at the same time, with undefined results.
- GH-1864: imgur album creation now works again.
- GH-1876: Various included libraries have been changed to satisfy their license terms.
Namely:
- pack200 (GPL with classpath exception, now a shared library)
- iconfix (LGPL, now a shared library)
- quazip (LGPL, now a shared library)
- ColumnResizer (replaced with a BSD-3 version).
- GH-1882: Update dialog will now save its location and size.
- GH-1885: MultiMC will now correctly download zero-byte files.
No content does not equal no file and a presence of a file can mean the difference between something working or not.
- When importing modpacks, file permissions from the pack archive will no longer be preserved.
The archives are sometimes broken and have invalid permissions, especially when coming from sources other than MultiMC.
- Instance export filter has been fixed.
The filtering logic was picking and ignoring incorrect files under some conditions. Also, hidden files were ignored.
- Download progress bars are now less jumpy.
Instead of tracking the total size of all downloads, each download gets a fixed share of the progress bar.
In many cases, the size of files is unknown before a download starts. The change means that the total progress bar size cannot increase as new downloads start and file sizes are discovered.
- GH-1927: fix crash bugs related to FML library downloads succeeding multiple times.
- Rare problems with error 201 during Mojang authentication have been fixed.
- GH-1971: MultiMC will now no longer check path prefixes when importing instances.
This has caused more issues than it solved. Now it will simply try to move the files instead of giving up early.
- Instance import and creation have been overhauled in general for increased reliability.
- Hardcoded link colors in various dialogs and dialog pages have been fixed and now should follow theme palettes.
- GH-1993: Minimum and maximum JVM memory settings will now get swapped if set the wrong way.
The values self-correct on both settings save and load now.
- GH-2050: Fixed behavior of cancel buttons when browsing for paths.
This affected various settings dialogs and pages, setting the paths to an invalid value when the dialogs were closed with the `Cancel` button.
- The checkboxes in the accounts settings page now have the correct appearance.
- MultiMC responds to account manipulation better.
- Setting and resetting default account will update the account list properly.
- Removing the active account will now also reset it (previously, it would 'stay around').
- The accounts model is no longer reset by every action.
- When closing and reopening the instance window, the log settings are preserved.
The resulting instance window can be closed or reopened at any point, it does not matter if the instance is running or not. The list of available pages in the instance window changes with instance state.
On launch, the main window is kept open and running instances are marked with a badge. Opening the instance window is no longer the default action. Second activation of a running instance opens the instance window.
MultiMC can be entirely closed, keeping Minecraft instances running. However, if you close MultiMC, play time tracking, logging and crash reporting will not work.
Accounts which are in use are marked as such. If you plan to run multiple instances with multiple accounts, it is advisable to not set a default account to make it ask which one to use on launch.
- It is no longer possible to run multiple copies of MultiMC from a single folder
This generally caused strange configuration and Mojang login issues because the running MultiMC copies did not know about each other.
With the ability to launch multiple instances with different accounts, it is no longer needed.
Trying to run a second copy will focus the existing window. If MultiMC was started without a main window, a new main window will be opened. If the second copy is launching an instance from the command line, it will launch in the first copy instead.
This feature is also used for better checking of correct update completion (GH-1726). It should no longer be possible for MultiMC to end up in a state when it is unable to start - the old version checks that the new one can start and respond to liveness checks by writing a file.
- GH-903: MultiMC now supports theming
By default, it comes with a Dark, Bright, System (the old default) and Custom theme.
The Custom theme can change all of the colors, change the Qt widget theme and style the whole UI with CSS rules.
Files you can customize are created in `themes/custom/`. The CSS theming is similar to what TeamSpeak uses.
Ultimately, this is a start, not a final solution. If you are interested in making custom themes and would like to shape the direction this takes in the future, ask on Discord. :)
Any libraries stored in `$instanceroot/libraries/` will override the libraries from MultiMC's global folders, as long as they are marked `local` in the JSON patch.
This includes checksum verification, when available.
- Minecraft logging has been overhauled
The log now persists after the instance/console window is closed.
- GH-575: Mod lists got a refactor
The original issue is about adding sub-folder listings to mod lists. However, this is simply a refactor that separates the old Jar mod list from the less complex Loader mods. It allowed all of the mod list improvements to happen.
- The network code has been heavily reworked
Most issues related to slow networks and failing downloads should be a thing of the past.
This also includes post-download validation of the download - like using SHA1 checksums.
- Minecraft launching has been reworked
It is now a lot of tiny reusable tasks that chain together.
MultiMC now also has a separate launch method that works more like the Mojang launcher (not using a launcher part, but running Java directly).
This has been caused by a change on Mojang servers - the data is now stored in a different location and the files describing the releases have a different format. The required changes on MultiMC side aren't complete yet, but it's enough to get snapshots working.
Some undocumented and unused features were removed from the format. Mostly version patches that removed libraries, advanced library application, and merging rules, and things of similar nature. If you used them, you used an undocumented feature that is impossible to reach from the UI.
Because this wasn't a problem on the previous version of Qt MultiMC used (5.4.2), I ended up reverting to that. This is a temporary solution until the Qt framework can be rebuilt and retested for every platform without this broken feature.
The upstream bug is [QTBUG-40332](https://bugreports.qt.io/browse/QTBUG-40332) and despite being closed, it is far from fixed.
Because of the reverted Qt version, OSX 10.7 *might* work again. If it does, please do tell, it would help with figuring out what went wrong there :)
- GH-1408: MultiMC 0.4.8 doesn't work on wireless connections.
This is especially the case on Windows. If you already updated to 0.4.8, you will need to do a manual update, or use a wired connection to do the update.
The issue was caused by a change in the underlying framework (Qt), and MultiMC not including the network bearer plugins. This made it think that the connection is always down and not try to contact any servers because of that.
The upstream bug is [QTBUG-49267](https://bugreports.qt.io/browse/QTBUG-49267).
- GH-1410: MultiMC crashes on launch on OS X 10.7.5
OSX 10.7.x is no longer supported by Apple and I do not have a system to test and fix this.
So, this is likely **NOT** going to be fixed - please update your OS if you are still running 10.7.
### Improvements
- GH-1362: When uploading or copying the Minecraft log, the action is logged, including a full timestamp.
The log window now has a configurable limit for the number of lines remembered. You can also specify whether it stops logging or forgets on the fly once the limit is breached.
- GH-1069, GH-1100: `LD_LIBRARY_PATH` and `LD_PRELOAD` environment variables supplied to MultiMC now don't affect MultiMC but affect the launched game.
- GH-1303: Translations and notification cache are stored in the normal data folder now, not alongside the binaries. This only affects third party Linux packaging.
There is an extra field in the MultiMC Java settings that allows running Java inside a wrapper program or script. This means you can run Minecraft with wrappers like `optirun` and get better performance with hybrid graphics on Linux without workarounds.
- GH-1011 and GH-1015: Fixed various issues when the patch versions aren't complete
This applies when Minecraft versions are missing or when patches are broken and the profile is manipulated by adding, moving, removing, customizing and reverting patches.
- GH-1016: MultiMC prints a list of mods, core mods (contents of the core mods folder) and jar mods to the log on instance start. This should help with troubleshooting.
- SSL certificates are fixed on OSX 10.10.3 and newer - see [explanation](http://www.infoworld.com/article/2911209/mac-os-x/yosemite-10103-breaks-some-applications-and-https-sites.html).