aboutsummaryrefslogtreecommitdiff
path: root/changelog.md
blob: b3fc550c49bf18f500641e65ce3083efab118e2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
# MultiMC 0.6.0

## New or changed features

- 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.

  This allows running [Vivecraft](http://www.vivecraft.org/). Official support will hopefully follow.

- Instance icons can now be in the SVG format. Also, aspect ratio of SVG icons is now preserved in the instance toolbar.

- GH-1082: It is now possible to disable and enable version components (packages) similarly to mods.

- A new material design / flat icon theme has been added.

- When changing instance component versions, the present version is selected first.

## Bugfixes

- paste.ee upload now works again.

  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.

- In the instance export dialog, the sorting order has been changed to go from `a` to `z`, not backwards.

# Previous releases

## MultiMC 0.5.1

### Improvements

- Log uploads now use HTTPS because the [paste.ee](https://paste.ee) site is switching to HTTPS only.

- Console now has the line limit and overflow settings properly set when hidden.

  Before, if you didn't have the console set to show up on launch, it would have some low default values set.
  This meant that you wouldn't get enough of the log when the game crashed.

- GH-1802: Log resize is now handled properly.

  The log could end up with many empty lines because the wrong maximum size was used during the resize, potentially losing some lines.

- GH-1807: Fixed 'loggging' typo in console overflow notification.

- GH-1801: Launch script is no longer dumped into MultiMC's log on instance launch.

- GH-1065: Use of 'folder' and 'directory' in the UI has been unified to 'folder'.

- GH-1788: A problem with missing translation templates in the setup wizard pages has been fixed.

  It should be possible to translate everything again.

- GH-1789: Deletion of custom icon has been fixed.

  It wasn't possible to do it from the MultiMC icon selection dialog.

- GH-1790: While using the system theme on macOS, dialogs had wrong colors.

  The wrong colors are now only visible immediately after changing the theme to 'System'. An application restart will fix the colors.

  The underlying issue cannot be easily fixed.

  Upstream bug: https://bugreports.qt.io/browse/QTBUG-58268

- GH-1793: The Java wizard page did not show up as expected when moving MultiMC between different computers.

  The page should now show up as expected.

- GH-1794: Copied FTB instances did not work properly.

  The instance type of the copy was not set, causing it to not be usable.

## MultiMC 0.5.0

### New or changed features

- GH-338, GH-513, GH-700: Edit instance dialog and Console window have been unified

  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.

  Multiple instances can now run from the same MultiMC - It's even more **multi** now.

  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. :)

- Translations have been overhauled

  You no longer need to restart MultiMC to change its active translation. MultiMC also asks which translation to use on the first start.

  There is a lot that has to be done with translations, but at least now it should be easier to work with them and use them.

- MultiMC now includes Google Analytics

  The purpose of this is to determine where to focus future effort. Generally, only basic technical information is collected:

  - OS name, version, and architecture
  - Java version, architecture and memory settings
  - MultiMC version
  - System RAM size

  It does not activate until you agree with it. It may be expanded upon later, in which case you will be asked to agree again.

- Java selection on start has been replaced with a more robust solution

  You can select from the list as before, but also provide your own Java and set the basic memory sizes - Heap and PermGen (for java < 8).

  It is checking the configuration and selected Java on the fly and provides more or less instant feedback.

- Java detection has been improved

  MultiMC will prefer looking for `javaw.exe` on Windows and now can scan most, if not all the usual Linux java paths.

- Java memory settings now allow running with less memory

  The minimum has been changed to 128 MB.

- There is now an initial setup wizard

  So far, it is used for selecting the translation to use, the analytics agreement and initial Java setup.

- Existing MCEdit integration has been replaced by the Worlds page in the Instance/Console window

  It supports renaming, copying, and deleting worlds, opening them in MCEdit and copying the world seed without the need to launch Minecraft.

  The Linux version of MCEdit is now also started from the shell script, fixing some compatibility issues.

- GH-767: Minecraft skin upload

  The `Upload Skin` button is located on the Accounts page.

- It is now possible to turn off line wrapping in the Minecraft log
- Groups now have a proper context menu

  You can delete groups and create instances in them using the context menu. Just right click anywhere inside a group that's not an instance.

- Exporting of tracked FTB instances has been disabled

  It did not produce viable instances.

- Added support for Liteloader snapshots

  Requested many times, it's finally available.

- GH-1635, GH-1273, GH-589, GH-842, GH-901, GH-1117: Mod lists have been improved heavily

  - There is filter bar to allow finding mods in large packs quickly.
  - Extended selection is allowed (does not have to be continuous).
  - You can enable and disable many mods at the same time.
  - Sorting by clicking on the column headers is now possible.
  - Mod lists have a column for when a mod was changed last time (or added using the mod list).
  - You can open the `config` folder from the mods list now.

- GH-352: It is now possible to cancel an instance update.

- Instance launch button now has a drop-down arrow instead of click and hold.

  This should make launching with profilers more discoverable.

- When instances do not exit properly (crash), they get a badge

  This should make it easier to spot what crashed if you have multiple running.

- Instances can now contain libraries

  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 should make installing library-based mods easier in the future, and allow to include them in modpacks.

### Improvements

- GH-1433: The account selection dialog no longer shows e-mail addresses when no default account is selected.

  Instead, it shows Minecraft profile names.

- GH-1643: The preferred language property is no longer being censored in logs.

  Because the values are often very short (`en` for example), it was simply not usable.

- GH-1521: JSON editor now works when customized.

- GH-1560: Leading whitespace is now removed from instance names on creation and renaming

  Leading and trailing spaces in names can confuse Windows Explorer and Java.

- GH-1586: MultiMC now prints to command line on Windows, so you can review the command line options.

- GH-1699: Linux builds no longer contain the XCB library

  This caused many compatibility issues on with certain Linux graphics drivers and prevented MultiMC from starting.

- GH-1731: it was possible for the Screenshots page to show a list of all system drives.

  Trying to delete said system drives obviously lead to data loss. Additional checks have been added to prevent this from happening.

- GH-1670: "Instance update failed because: Too soon! Let the LWJGL list load :)." has been fixed.

  This fixes launching of legacy (and legacy FTB) instances.

- GH-1778: Jar modded Minecraft.jar location breaks mod assumptions

  Some ancient mods require the modded `Minecraft.jar` to be in `.minecraft/bin`, inside the instance. Now it is placed there.

### Internals

- Full support for the current Mojang downloads JSON format.

  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).

## MultiMC 0.4.11

This release contains mainly a workaround for Minecraft 1.9 support and returned support for OSX 10.7.

### **IMPORTANT**

- GH-1410: MultiMC crashe