master Changelog 1.0 === - 1.0.5 Remove teamcity - 1.0.4 TeamCity change in 'MinecraftForge / FART' project: project was archived - 1.0.3 Fix missing record flag caused by PG stripping the attribute. - 1.0.2 Fix name stripping on multi-release jars. Closes #28 - 1.0.1 Add option to disable generation of abstract param file (#27) - 1.0.0 Update licenses and move to SPDX 1.0.pre ======= - 1.0.pre.3 Skip library paths that do not exist Add ClassProvider#fromPaths - 1.0.pre.2 Fix ParameterAnnotationFixer on modern Minecraft ProGuard has been updated since the inception of this fix in https://github.com/ModCoderPack/MCInjector/pull/3 and no longer has the original bug. Mojang also appears to be using newer versions of ProGuard where the bug is not present. The fixer is now properly programmed to change nothing if it doesn't detect the broken PG behavior. The fixer is now also optimized to use the visitor system instead of populating a ClassNode; it has been rewritten to do so. - 1.0.pre.1 Overhaul Inheritance system and document API package Allow one Renamer instance to be run multiple times - 1.0.pre.0 Allow reading libraries from bare directories Move to Java NIO for zip reading in inheritance map to unify the code paths This may help speed up FART by not requiring a new zip file to be opened for each new class info request; at the cost of slightly more memory Fix crash when attempting to read missing inheritance data for a class that throws a NoClassDefFoundError 0.1 === - 0.1.25 Rename constant pool entries in place (#24) The current use of ClassWriter(ClassReader,int) meant that all existing constant pool entries from the ClassReader are copied as-is to the new class, and any renamed constant pool entries are merely appended to the pool rather than replacing the original non-renamed entries (as specified in the javadoc of said ClassWriter constructor). To avoid the waste of constant pool space by those unused non-renamed entries, RenamingTransformer now creates a fresh ClassWriter (not passing in the ClassReader). Note that ASM does some reordering of the constant pool (and some other attributes) that deviate from the order outputted by javac. - 0.1.24 Relocate shaded deps to be under FART's package (#17) - 0.1.23 Fix FF line number remapping (#18) - 0.1.22 Add more descriptive information to rethrown exceptions (#16) - 0.1.21 Bump SRGUtils to 0.4.9 to fix Fix concurrency issues (#13) - 0.1.20 TeamCity change in 'MinecraftForge / FART' project: project settings were updated - 0.1.19 Use master as default branch in TeamCity (#15) - 0.1.18 Add support for building on TeamCity. (#14) - 0.1.17 Bump SRGUtils to 0.4.7, Fix potential concurrency issues (#11) - 0.1.16 Backport ASM MR 327 to fix generated method remapping in records (#10) - 0.1.15 Declare SRGUtils it in the api configuration (#9) - 0.1.14 Strip code-signing signatures from manifest when remapping (#6) - 0.1.13 Attach a name to each task for better blaming when exceptions happen (#7) - 0.1.12 Add an option to reverse mappings from the CLI (#8) - 0.1.11 Expose transformers to API and allow redirecting logging (#3) - 0.1.10 Fix record fields not being made private if that was the only change to the class. (#5) - 0.1.9 Use bytecode information for staticness, not tsrg2 metadata (#4) - 0.1.8 Preserve order that we see record entries in, as it determines the order FF decompiles them. - 0.1.7 Add `--record-fix`, fixes Proguard stripping record data - 0.1.6 Fix Null Pointer in ParameterAnnotationFixer on some classes compiled with J16. Fix creating parent directories when using unqualified path. - 0.1.5 Fix recursion error, and fix RenamingTransformer creating duplicate files if applied multiple times. - 0.1.4 Add --ff-line-numbers, which will adjust line numbers to align with output from ForgeFlower See https://github.com/MinecraftForge/ForgeFlower/commit/c965c17e847b35692b7c0b0bdedc25431212f10e for more details. - 0.1.3 Add --src-fix argument, this fixes the "SourceFile" attribute of classes. Currently only supports .java style names. If you want other language names PR it. - 0.1.2 Fix Executor not shutting down. Add --threads argument, to specify the number of threads to use when processing entries. Add --ids-fix argument to fix invalid local variable names {things that are not valid java identifiers}. This disabels the 'snowman' fix by default. Use --ids-fix snowmen to fix JUST snowmen. Or --ids-fix [all] to fix all no matter the name, as long as it's invalid. - 0.1.1 Small fixes (#1) - 0.1.0 Initial commit