# Changelog

The Changelog may not contain all minor patch notices and fixes that are deemed as low impact

# v8.2.0 latest

  • Added new cli argument urlLoader
    • Load the JCloak loader dynamically which reduces file size

# v8.1.0

  • Fixed issues with class indexing resulting in an exception
  • Read files in bigger buffers

# v8.0.0

  • Significantly improved startup time
    • Added multithreaded decrypting
    • Created custom serializer

# v7.1.0

  • Added NATIVE_DUMMY and HIDDEN types for the @JCloakLoaded annotation

# v7.0.0

  • Use ClassLoader to access contents of a cloaked jar that has been loaded via a custom ClassLaoder
  • Added new arguments: hideExclusions, hideProcessing to supress output
  • Added output about the amount of processed targets

# v6.0.0

  • Improve startup speed by loading classes in an optimized order
  • Add new cli arguments

# v5.0.0

  • Support for multi cloaked projects
  • Improved class dumping protection

# v4.0.0

  • Change cli arguments to sneaky case
  • Add file output option to export keys
  • Remove JVM flag to run on the Java 9+ module system

# v3.1.0

  • Watchdogs are now terminating when the main thread finishes
  • Restructure project into more and finer modules

# v3.0.0

  • JCloak loader uses native transpilation to be better protected

# v2.8.0

  • Add option to generate fake native implementations

# v2.7.2

  • Access to the docker image requires an access token
  • Relocate docker image to jcloak/cli:latest

# v2.7.1

  • Use ASCII dictionary on JCloak loader to be able to run without utf-8 charset

# v2.7.0

  • Add checksums to detect modifications
  • Add skip checksum option

# v2.6.0

  • Disallow and detect java agents
  • Add allow agent option

# v2.5.0

  • Remove annotations after compiling

# v2.4.1

  • Using Java 9+ fallback method as default to prevent classloader issues
  • Removed debug mode due to more explanatory exceptions

# v2.4.0

  • Use ASM instead of Javassist due to issue #455

# v2.3.0

  • Add include key option as a quality of life improvement at the expense of security

# v2.2.1

  • Remove META-INF from components to only inclue input META-INF
  • Repackage obfuscated JCloak files from root to prevent name collisions

# v2.2.0

  • Add Java 9+ Support (works all the way up to and including Java 20)
    • Requires JVM flag due to the new module system

# v2.1.1

  • Sort options by required and optional
  • Add padding between option and description

# v2.1.0

  • Add dependency option to resolve classes at compiling
  • Add address option to load output only for specified ip address
  • Add killswitch option to killswitch a build

# v2.0.0

  • Devide cli, loader and dependency into seperate jar files to reduce size
  • Add output option (required)
  • Create output jar by extracting, editing and recompiling