- fixed javascript-obfuscator#37
- Breaking change: dropped
[email protected]and[email protected]support. - New option:
controlFlowFlatteningallows to enable/disable Control Flow flattening. Control flow flattening is a structure transformation of the source code that hinders program comprehension. - New option:
controlFlowFlatteningThresholdallows to set percentage of nodes that will affected bycontrolFlowFlattening. - Significantly increased obfuscation performance.
- Huge internal refactoring.
- Better
es2015support: correct obfuscation ofTemplateLiteral,ArrayPattern,AssignmentPatternnodes. - Switched from
npmtoyarninternally. - Various bug fixes.
- Increased performance
- Fixed very rare
Cannot read property 'type' of undefinederror, whenRandomGeneratorUtils.getMathRandom()returned incorrect value1.
- Increased performance
- Breaking change: dropped
[email protected]and[email protected]support. - Switched from
npmtoyarninternally.
- Transformers refactoring
- New option:
controlFlowFlatteningallows to enable/disable Control Flow flattening. Control flow flattening is a structure transformation of the source code that hinders program comprehension. - New option:
controlFlowFlatteningThresholdallows to set percentage of nodes that will affected bycontrolFlowFlattening. - Better
es2015support: correct obfuscation ofTemplateLiteral,ArrayPattern,AssignmentPatternnodes. - Obfuscation performance boost.
- Huge internal refactoring.
- Various bug fixes.
- additional fixes for javascript-obfuscator#29
- fixed javascript-obfuscator#29
selfDefendingoption now disabled by default.
- New option
seedsets seed for random generator. This is useful for creating repeatable results. - IE8 runtime error fix.
disableConsoleOutputoption now replacesconsole.xxxfunctions on empty function instead of infinity loop.
- Breaking options change:
unicodeArrayoption has been renamed tostringArray. - Breaking options change:
unicodeArrayThresholdoption has been renamed tostringArrayThreshold. - Breaking options change:
encodeUnicodeArrayoption has been renamed tostringArrayEncodingand now accepts following values:true|false|'base64'|'rc4'. - Breaking change: option
wrapUnicodeArrayCallswas removed and now all calls tostringArrayare always wrapped by special wrapper function. - New option
unicodeEscapeSequenceallows to enable/disable strings conversion to unicode escape sequence. - New option
domainLocklocks the obfuscated source code so it only runs on specific domains and/or sub-domains. - New option
sourceMapBaseUrlsets base url to the source map import url whensourceMapMode: 'separate'. - Custom nodes like
selfDefendingNodeorconsoleOutputNodenow 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.
- CLI missing polyfill fix #17
- IE error fix #14
- Obfuscator now returns an empty string instead of obfuscated code if source code is empty
- Fix of incorrect
Utils.decToHexmethod
- Breaking API change: now
obfuscate(sourceCode, options)returnsObfuscationResultobject insteadstring.ObfuscationResultobject contains two public methods:getObfuscatedCode()andgetSourceMap(). - CLI. Now any code can be obfuscated through CLI
javascript-obfuscatorcommand. SeeREADME.mdfor available options. - New option
sourceMapenables source map generation for obfuscated code. - New option
sourceMapModespecifies source map generation mode.