2.0 Changelog 2.2 === - 2.2.7 Fix caching issue - 2.2.6 Actions fix and start publishing changelog - 2.2.5 Update Mojang auth address - 2.2.4 Include processor output and vanilla jars in 'offline' installer. - 2.2.3 Add action to make offline installer - 2.2.2 Remove looking at the local maven folder. If you want to test the installer, pack your deps. - 2.2.1 Fix mirrior message in log having html. - 2.2.0 Update buildscripts/gradle. Move to github actions. Stop using proguard, and just publish a farjar. Added a helper message if we run into a SSLException 2.1 === - 2.1.11 Add DNS resolving information which is useful for debugging. - 2.1.10 Reduce filesize a tad (#70) Commented out a hex-encoded icon that is unused but still compiled into the jar. Reduces the installer's filesize by a kilobyte or so. - 2.1.9 Look for microsoft store profiles if they exist. - 2.1.8 Add support for copying libs from local libs folder (#60) - 2.1.7 Make mirror parsing more robust. Fix a deprecation and serialization warning. - 2.1.6 Attempt downloading from main URL if mirror fails. - 2.1.5 Fixed Server Install breakage on paths with spaces (#68) - 2.1.4 Fix processor args replacement path. - 2.1.3 Fix test and upgrade gradle. - 2.1.2 Expand token replacement to allow in-line replacements. - 2.1.1 Add more error logging. - 2.1.0 Spec v1, add root, minecraft_version, and installer variables. And option to change where server jar is downloaded. 2.0 === - 2.0.24 Add --mirror and --debug options (#67) Update GSON Remove mirroring of non-http download urls, like `file://` - 2.0.23 Fix service loaders in post processors (#66) - 2.0.22 Remove emptyFrame entirely, fixes #62 (#65) - 2.0.21 More Jenkinsfile upload rework. - 2.0.20 I hate git telling me a file is committed and not actually committing it. - 2.0.19 Fix version - 2.0.18 Upgrade to Gradle 6.8 (#61) - 2.0.17 Fix HashFunction padding on some locales (#59) - 2.0.16 Fix typo in ServerInstall (#58) - 2.0.15 Fix PostProcessor outputs Map parsing (#57) - 2.0.14 Use gradle 4.9 instead of 4.10 (#42) * Use gradle 4.9 instead of 4.10 Gradle 4.10 has a feature where it will clean "old" files from gradle cache after they aren't used by gradle or some short time. This usually results in a broken mod dev environment when it happens, as this is done globally for the whole cache. * Update gradle wrapper binary and scripts (using wrapper task) - 2.0.13 Add entry to installer profile to allow custom icon (#49) - 2.0.12 Add LetsEncrypt cert, for use on java versions less then 1.8_101 (#47) - 2.0.11 Dump JVM information to log. Use Platform classloader on J9 for processors. - 2.0.10 Switch to publish instead of uploadArchives - 2.0.9 Remove guava dependency. Add support for 'provided' flag, instead of a empty URL for marking non-downloadable libraries. To fix vanilla launcher. Will need to update once Mojang decides on a proper standard. - 2.0.8 Explicitly specify UTF-8 for reading json (#44) - 2.0.7 Fix installer using black text in install location text on dark theme (#41) - 2.0.6 Add spec entry to installer json format. For future use if the installer changes. Added support for basic redirects when downloading files. - 2.0.5 Include version information in manifest. - 2.0.4 Fix post processors exiting after the first one that hits the cache - 2.0.3 Add support for config level post processor caching. - 2.0.2 Use platform classloader on Java9+ to allow access to non-base modules. Catch more PostProcessor errors as sometimes the classloader will re-define exception classes. - 2.0.1 Don't include branch name. - 2.0.0 Update license headers and include license. LGPL2.1 like all our other libraries/tools. Use proper shadow plugin to make fatjar, tho not published anymore. Changed version to tag based. Added Jenkinsfile to publish on the new jenkins. 2.0-pre ======= - 2.0-pre-95 Fix main IntallerPanel not being centered. - 2.0-pre-94 Clean up logging, pipe processor stdout to ProgressCallback (#39) - 2.0-pre-93 Update test data to include bin patching and splitting the jars. - 2.0-pre-92 Refactor progress listening to be able to show a progress window (#38) Refactor progress monitoring and add progress UI Add text area for console output inside progress window - 2.0-pre-91 First pass at post processors. Test data includes deobfusicating vanilla jar into an artifact. SpecialSource has very little output, so we need to have a better interface for it's output. - 2.0-pre-90 Refactor pretty much everything. - 2.0-pre-89 Fix proguard on JDK9. - 2.0-pre-88 Bump gradle version. Set preferIPv4Stack true by default. Add logger output to extracting ContainedFile. - 2.0-pre-87 Merge pull request #35 from diesieben07/java6-message Add warning for java versions < 8, compile everything else for java 8 - 2.0-pre-86 remove debug - 2.0-pre-85 use java.specification.version - 2.0-pre-84 use system property to detect java version - 2.0-pre-83 remove more debug! - 2.0-pre-82 remove debug - 2.0-pre-81 Add warning for java versions < 6, compile everything else for java 8 - 2.0-pre-80 Merge pull request #33 from PaleoCrafter/master Update logo to new version - 2.0-pre-79 Create modlist directory if needed. - 2.0-pre-78 Update logo to new version - 2.0-pre-77 Add mod list type to client install, currently its "absolute" or "none", absolute will append a --modListFile argument to the version.json and store the modlist in the versions folder. None will skip the mod list file, mods will only be loaded by classpath scanning. - 2.0-pre-76 Add support for default URL image. {Workaround for FG issue} - 2.0-pre-75 Push 1.5. - 2.0-pre-74 Add offline mode command line argument. - 2.0-pre-73 Implement an optional library system to allow configurable installs. This can be used for mod pack instalations where some mods are optional. Also added the functionality for libraries that could not be downloaded to attempt to extract from the bundeled jar file itself. Thus allowing fully packaged installers with the optional libraries. The selected optional libraries will be listed in a mod_list.json file the minecraft/mods folder. Sadly as it sits there is no way to specify a non-relative path in the json. So if you use a profile with a custom gameDirectory you will need to copy the json over. Will need to speak to cpw about this. - 2.0-pre-72 Fix installer downloading jar when inherited. (reverted from commit d1617d142a6e7637edc4ddc2a0dd1f8df2b2ae45) - 2.0-pre-71 Fix installer downloading jar when inherited. - 2.0-pre-70 Fix upload config for new files maven. - 2.0-pre-69 Only filter signature data from META-INF to support jars that contain extra data in META-INF like jline. - 2.0-pre-68 Fixed validating entries with spaces in their name. - 2.0-pre-67 Update gradle wrapper, and proguard for J8. Include a 'packer' executable jar that can be used to pack directories. - 2.0-pre-66 Just ship as 'installer' - 2.0-pre-65 Fix publishing to file's maven. - 2.0-pre-64 Merge pull request #23 from linuxrules94/master Added hideExtract option. - 2.0-pre-63 Added hideExtract option. - 2.0-pre-62 Merge pull request #20 from boq/master Set checksum file's time to 0 to make decompressed files consistent between installations. - 2.0-pre-61 Fix inconsistent libs checksums - 2.0-pre-60 Merge pull request #19 from Nidan/patch-1 Retain profiles extra data if profile already exists. - 2.0-pre-59 don't trash user's profile options - 2.0-pre-58 Rename package to net.minecraftforge.installer - 2.0-pre-57 Clean up warnings - 2.0-pre-56 Merge pull request #17 from Mumfrey/master Version Inheritance Support - 2.0-pre-55 Remove rouge tab characters - 2.0-pre-54 Restore jar copy/fetch operation for legacy (non-inherited) installs - 2.0-pre-53 Reformat JSON, for science - 2.0-pre-52 Remove client jar copy/download as it is no longer needed - 2.0-pre-51 Update JSON to inherited format - 2.0-pre-50 Rework unpacking artifacts to potentally help OutOfMemory errors, also add memo to error screen about running with JVM arg to increase memory. - 2.0-pre-49 Installer will now attempt to download the client jar if it does not exist, as we do with the server jar. This should lower the amount of issues related to users not running minecraft before installing and not understanding "You need to run the version {version} manually at least once" instruction -.- - 2.0-pre-48 Override System.out and System.err to both log to File and disk. The log file will either be 'installer.log' or '.log' in the current working directory. Should be useful for users who don't know how to run from the console and get a log. - 2.0-pre-47 Make downloading of the Server Jar respect Mojang's/AWS's MD5 Etags so that corrupt downloads are reported. - 2.0-pre-46 Cleaned up artifact handling a bit by extracting to it's own class. Fixed error lists using new line, {all on one looks bad!} And added ability for the installer to NOT package a artifact. - 2.0-pre-45 Add json options to hide the Install Client and Install Server options. - 2.0-pre-44 Add more detailed warning to users who have paths that break java resources. - 2.0-pre-43 On fail on server installs if files that are downloadble by the mojang launcher fail. - 2.0-pre-42 Update MC Libraires URL. - 2.0-pre-41 Strip meta-info, so that signed jars can be packed. {Signatures are lost} - 2.0-pre-40 Print a lot more data to the console, for debugging purposes. - 2.0-pre-39 Add stripMeta option, ONLY USE FOR LEGACY INSTALLERS. Anything in current should leave things alone. - 2.0-pre-38 Cleanup project warnrings, Unused imports, fields, and missing serialize ids. - 2.0-pre-37 Fix java 6 incompatiblity. - 2.0-pre-36 Changed the compressed structure. We now do per-file checksums in the unpacked libarary. This is to get around certian JVMs which do not format the generated jar file correctly. Also moved from using LZMA to using XZ, LZMA's successor. This was done because I couldn't find a pure java implementation of LZMA's compressor. Added new LibraryPacker class/application to generate the compressed libraries given folders to search. - 2.0-pre-35 Close your resources! Fixes broken downloads, hopefully. - 2.0-pre-34 Fix windows derp - 2.0-pre-33 Tweak message - 2.0-pre-32 Fix not adding. Stupid else - 2.0-pre-31 And be less spammy about the pack URL warnings. - 2.0-pre-30 Fix bug where it was trying to download mojang libs from us. - 2.0-pre-29 Update for 1.3 - 2.0-pre-28 Change the mirror file format slightly. Show a logo and thank you message. - 2.0-pre-27 Add support for using a mirror list, instead of embedding multiple URLs in the files. The list is a URL that is fetched every install run, so needs to be small. - 2.0-pre-26 Add support for multiple URLs, checksums, and pack.lzma too. - 2.0-pre-25 Allow for multiple URLs, and try and find a .pack.lzma file first - 2.0-pre-24 Need to include the proguard config ... - 2.0-pre-23 Create a shrunk jar using Proguard-Gradle: http://proguard.sourceforge.net/index.html#manual/gradle.html Obfusication is disabled, this is just shrinking, saves 2MB and still results in a jar containing all needed dependancies. - 2.0-pre-22 Another approach at publishing to files. - 2.0-pre-21 Add some debug info to test jenkins issues. - 2.0-pre-20 Fix up installer jar building, properly this time. No more duplicate names. - 2.0-pre-19 Update version to 1.1 for changes - 2.0-pre-18 Install the gradle wrapper for building - 2.0-pre-17 Allow for client-side downloads as well. Should mean we can populate libraries during install on the client as well. This will hopefully help alleviate the flooding problem. - 2.0-pre-16 Headless capability for server and extraction. Also, try and make the window show in the task bar - 2.0-pre-15 Merge pull request #5 from luacs1998/master Why not? - 2.0-pre-14 Use system look and feel for FML installer. - 2.0-pre-13 Merge pull request #4 from AbrarSyed/patch-1 added idea integration - 2.0-pre-12 added idea integration Cuz why the hello not. Its for people who use intellij - 2.0-pre-11 Merge pull request #2 from jk-5/patch-1 Fix minecraft path for mac (#1) - 2.0-pre-10 Fix minecraft path for mac - 2.0-pre-9 Fix possible NPE - 2.0-pre-8 Add extract action, fix server install - 2.0-pre-7 Server installation works now - 2.0-pre-6 Tweak upload location - 2.0-pre-5 More tweaks for fat jar - 2.0-pre-4 More launcher tweaks - 2.0-pre-3 Reorg for gradle - 2.0-pre-2 Code checkin. Basically working for client install. - 2.0-pre-1 Initial commit