All Versions
37
Latest Version
Avg Release Cycle
202 days
Latest Release
-

Changelog History
Page 4

  • v1.3.2 Changes

    September 08, 2004

    โž• Added

    • ๐ŸŒฒ yGuard now helps in the detection of duplicate class files in source jars. In pedantic mode yGuard will terminate if duplicate classes are detected in different source jars. yGuard's obfuscate task will always fail if mutliple class files containing a definition for the same jar are detected. The log file displays useful information for finding the duplicate entries.
    • ๐Ÿ‘Œ Improved xml log file output for Unicode characters.

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed a name clash problem that occurred when already obfuscated code was being obfuscated again using different settings.
    • ๐Ÿ›  Fixed a resolution problem concerning interfaces from external classpaths.

    ๐Ÿ”„ Changed

    • ๐Ÿ‘Œ Improved name generation. yGuard will now generate legal identifiers (with respect to Character.isJavaIdentifierStart() and Character.isJavaIdentifierPart(char) and Character.isIdentifierIgnorable(char)) and should therefor produce jars that should verify correctly even on older jdks if yGuard is run using newer jdks.
    • ๐Ÿ›  Made the log file viewer output more consistent with inner class names that were being mapped during obfuscation versus those who remained fixed.
    • Jar file entries are now being sorted prior to being written to the jar.
    • ๐Ÿ‘Œ Improved handling of external classes.
  • v1.3.1 Changes

    March 02, 2004

    โž• Added

    • ๐Ÿ‘Œ Improved the optional keeping of "Deprecated" tags. Somehow they still seem to get lost under certain conditions. Any feedback on this topic is welcomed.

    ๐Ÿ›  Fixed

    • Due to a compile time dependency, yGuard could not be used with jdk 1.3.x anymore even if the automatic resource adjustment feature was not used. This has now been made possible again.
    • ๐Ÿ›  Fixed a rare problem that broke obfuscated code using static method invocations and static field references.
    • ๐ŸŒฒ There was a bug in the log file viewer (java -jar yguard.jar [logfile.xml[.gz]]) that made it crash under very rare circumstances.
    • โ†ช Implemented a workaround for an Ant incompatibility problem, which resulted in yGuard behaving differently on different platforms and in conjunction with different Ant versions.

    ๐Ÿ”„ Changed

    • yGuard will now generate (empty) directory entries in the resulting jar files for each non-empty directory.
  • v1.3.1._01 Changes

    April 27, 2004

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed a problem concerning the adjust elements throwing a RuntimeException in the pattern matching code.
    • ๐Ÿ›  Fixed a problem where the wrong set of files was affected in the adjust section.

    ๐Ÿ”„ Changed

    • yGuard now treats the COMPATIBLE flag for the language conformity different. Field names and class names are now made up of lower ascii-only chars.
  • v1.3 Changes

    January 05, 2004

    โž• Added

    • โž• Added automatic text file and property file renaming mechanism. yGuard can now be configured to rename .properties files according to the obfuscation.
    • It is now possible to process text files and replace occurances of class names with their obfuscated versions.
    • ๐Ÿ“ฆ One can now specify whether resource files should be kept in their original directory while at the same time the classes residing in the respective directory can be fully obfuscated to another package.
    • yGuard can now automatically create gzipped (.gz) logfiles and work directly on compressed logfiles. This reduces the size of the logfiles drastically.
    • ๐Ÿšš It is now possible to simply specify a list of attributes, that should not be removed by yGuard (for example Deprecated) using the expose-attributes property.
    • ๐Ÿ yGuard has a new name generation method (language-conformity = compatible), that creates jar file that can be successfully unzipped to the windows filesystem.
    • ๐Ÿ“ฆ In order to avoid namespace clashes, one can now easily specify a prefix for completeley obfuscated package hierarchies using the obfuscation-prefix property.
    • โœจ Enhanced documentation (DTD, examples, and new features description).

    ๐Ÿ›  Fixed

    • Innerclasses making use of the .class construct should now always be correctly obfuscated using the replaceClassNameStrings feature.
    • The patch element had a bug concerning field name mappings, which is now resolved.
    • โœ… yGuard now tests whether a newly obfuscated name already exists in external jars and automatically generates names, that should not clash.
    • yGuard should now work together with Ant version 1.6 (there was an undocumented change in the API of Ant).
  • v1.2 Changes

    โž• Added

    • โž• Added support for external libraries. This allows yGuard to obfuscate jars that have external dependencies more easily and using stronger obfuscation. It is now possible to specify dependencies using Ant classpath elements. yGuard then uses information found in these jars to resolve external dependencies.
    • ๐Ÿ‘Œ Improved error handling and task and logfile output. yGuard will now produce fewer unreasonable warnings. During the obfuscation run yGuard will give more detailed warnings and hints when unobfuscatable classes are detected.
    • Added property error-checking which can be set to pedantic. In this case yGuard will not issue warnings but a build will fail instead of issueing simple warnings. This helps in finding problems.

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed a minor issue. The documentation stated, that: <class classes="protected"/> behaved like <class classes="protected"> <patternset> <include name="**.*"/> </patternset> ๐Ÿ›  </class> but in the implementation <include name="*"/> had been applied. This has now been fixed to <include name="**.*"/>.
    • ๐Ÿ›  Fixed some bugs in the documentation.
  • v1.1 Changes

    December 17, 2002

    โž• Added

    • โž• Added support for different naming schemes. These schemes result in smaller jar files, better obfuscation and lead to jar files, which cannot be unpacked to normal filesystems.
    • ๐Ÿ›  Fixed two JBuilder incompatibilities. Innerclasses created by JBuilder do not prevent yGuard from working anymore and (correct) innerclasses created by yGuard do not crash JBuilder anymore (which btw. is a bug in JB).
    • yGuard can now automatically obfuscate code of the form Class.forName("com.mycompany.myapp.MyClass"); so that these classes can now be obfuscated by name, too.

    ๐Ÿ›  Fixed

    • Implemented a fix for the problem, where the ClassName.class code construct prevented classes from being obfuscated entirely.
    • ๐Ÿ›  Fixed two bugs concerning the handling of manifest files.
    • ๐Ÿ›  Fixed a bug concerning the handling of the Main-Class attribute of manifest files.

    ๐Ÿ”„ Changed

    • ๐Ÿ‘Œ Improved the serialization of the obfuscation map to the xml file, which can now be parsed back in by the included tool even for complicated naming schemes.
    • ๐Ÿ”จ Refactored the creation of the final jar files. The current implementation leads to more standard conform jar files.
  • v1.0.0 Changes

    November 28, 2002

    โž• Added

    • The Main-Class attribute of the Manifest files will now be translated to the obfuscated name, if the main class is not exposed.

    ๐Ÿ”„ Changed

    • Implemented more robust handling of Manifest files. Implementation now makes use of java.util.jar.Manifest.
    • ๐Ÿ‘ The conserveManifest attribute of the obfuscate task now conserves the manifest in a better way.

    ๐Ÿš€ [Unreleased]: https://github.com/yworks/yguard/compare/3.1.0...HEAD