CHANGELOG.md 20 KB

Change Log

v0.28.0

v0.27.4

v0.27.3

v0.27.2

  • Fixed identifiers prefix generation for obfuscateMultiple method

v0.27.1

v0.27.0

  • Feature: new method obfuscateMultiple to obfuscation of multiple source codes

v0.26.0

v0.25.5

v0.25.4

v0.25.3

v0.25.2

v0.25.1

v0.25.0

v0.24.6

v0.24.5

v0.24.4

v0.24.3

v0.24.2

  • Reverted validation errors under node target for sourceMap* options

v0.24.1

v0.24.0

v0.23.2

v0.23.1

v0.23.0

v0.22.1

  • Fixed TypeError: Assignment to constant variable when auto-detection of kind of variables is inserted const variables for controlFlowStorage nodes

v0.22.0

v0.21.1

  • Fixed conditional comments in some rare cases

v0.21.0

v0.20.4

  • Fixed typings. Now string values correctly assignable to enum-like options

v0.20.3

v0.20.2

v0.20.1

  • Fixed identifier names generations for mangled and dictionary identifier names generators
  • Fixed combination of identifierNamesGenerator: dictionary and debugProtection options
  • seed option now accepts string and number values

v0.20.0

  • Breaking: dropped support of Node 8 because of end of maintenance support
  • New option value: identifierNamesGenerator now allows to set new dictionary identifier names generator
  • New option: identifiersDictionary sets identifiers dictionary for identifierNamesGenerator: dictionary option

Thanks to our contributors!

v0.19.4

  • Fixed reservedNames option

Thanks to our contributors!

v0.19.3

  • The splitStrings option now correctly works with transformObjectKeys option
  • Internal TransformersRunner rework to support topological sort of node transformers

v0.19.2

  • The splitStrings option now correctly splits strings inside objects

v0.19.1

  • The splitStrings option now affects template literal strings

v0.19.0

  • New option: splitStrings splits literal strings into chunks with length of splitStringsChunkLength option value
  • New option: splitStringsChunkLength sets chunk length of splitStrings option

v0.18.8

v0.18.7

v0.18.6

Thanks to our contributors!

v0.18.5

Thanks to our contributors!

v0.18.4

Thanks to our contributors!

v0.18.3

Thanks to our contributors!

v0.18.2

v0.18.1

v0.18.0

v0.17.3

v0.17.2

v0.17.1

v0.17.0

v0.16.0

v0.15.0

v0.14.3

v0.14.2

v0.14.1

v0.14.0

v0.13.0

v0.12.5

v0.12.4

v0.12.3

v0.12.2

v0.12.1

v0.12.0

  • New option: target allows to set target environment for obfuscated code.
  • Added ability to disable and enable obfuscation for specific parts of the code by adding conditional comments.
  • Added obfuscation of es2015 class names.
  • CLI: added directory obfuscation.

v0.11.2

v0.11.1

v0.11.0

  • New option: log enables logging of the information to the console.
  • New option: renameGlobals allows to enable obfuscation of global variable and function names with declaration.

v0.10.2

v0.10.1

v0.10.0

v0.9.3

v0.9.2

  • Removed coverage dir from npm package

v0.9.1

v0.9.0

  • Breaking change: dropped node@0.10 and node@0.12 support.
  • New option: controlFlowFlattening allows to enable/disable Control Flow flattening. Control flow flattening is a structure transformation of the source code that hinders program comprehension.
  • New option: controlFlowFlatteningThreshold allows to set percentage of nodes that will affected by controlFlowFlattening.
  • Significantly increased obfuscation performance.
  • Huge internal refactoring.
  • Better es2015 support: correct obfuscation of TemplateLiteral, ArrayPattern, AssignmentPattern nodes.
  • Switched from npm to yarn internally.
  • Various bug fixes.

v0.9.0-beta.5

  • Increased performance
  • Fixed very rare Cannot read property 'type' of undefined error, when RandomGeneratorUtils.getMathRandom() returned incorrect value 1.

v0.9.0-beta.4

  • Increased performance

v0.9.0-beta.3

  • Breaking change: dropped node@0.10 and node@0.12 support.
  • Switched from npm to yarn internally.

v0.9.0-beta.2

  • Transformers refactoring

v0.9.0-beta.1

  • New option: controlFlowFlattening allows to enable/disable Control Flow flattening. Control flow flattening is a structure transformation of the source code that hinders program comprehension.
  • New option: controlFlowFlatteningThreshold allows to set percentage of nodes that will affected by controlFlowFlattening.
  • Better es2015 support: correct obfuscation of TemplateLiteral, ArrayPattern, AssignmentPattern nodes.
  • Obfuscation performance boost.
  • Huge internal refactoring.
  • Various bug fixes.

v0.8.6

v0.8.5

v0.8.4

v0.8.3

  • selfDefending option now disabled by default.

v0.8.2

  • New option seed sets seed for random generator. This is useful for creating repeatable results.
  • IE8 runtime error fix.

v0.8.1

  • disableConsoleOutput option now replaces console.xxx functions on empty function instead of infinity loop.

v0.8.0

  • Breaking options change: unicodeArray option has been renamed to stringArray.
  • Breaking options change: unicodeArrayThreshold option has been renamed to stringArrayThreshold.
  • Breaking options change: encodeUnicodeArray option has been renamed to stringArrayEncoding and now accepts following values: true|false|'base64'|'rc4'.
  • Breaking change: option wrapUnicodeArrayCalls was removed and now all calls to stringArray are always wrapped by special wrapper function.
  • New option unicodeEscapeSequence allows to enable/disable strings conversion to unicode escape sequence.
  • New option domainLock locks the obfuscated source code so it only runs on specific domains and/or sub-domains.
  • New option sourceMapBaseUrl sets base url to the source map import url when sourceMapMode: 'separate'.
  • Custom nodes like selfDefendingNode or consoleOutputNode now inserted into deepest stack trace function call.
  • Fixed obfuscation of global variables and function names in some cases.
  • Fixed wrong obfuscation of labels.
  • Rewrite of many custom nodes.

v0.7.3

  • CLI missing polyfill fix #17

v0.7.2

  • Runtime error fix #7

  • Shorthand object expression fix #16

v0.7.1

  • IE error fix #14

v0.7.0-dev.3

  • Obfuscator now returns an empty string instead of obfuscated code if source code is empty

v0.7.0-dev.2

  • Fix of incorrect Utils.decToHex method

v0.7.0-dev.1

  • Breaking API change: now obfuscate(sourceCode, options) returns ObfuscationResult object instead string. ObfuscationResult object contains two public methods: getObfuscatedCode() and getSourceMap().
  • CLI. Now any code can be obfuscated through CLI javascript-obfuscator command. See README.md for available options.
  • New option sourceMap enables source map generation for obfuscated code.
  • New option sourceMapMode specifies source map generation mode.