mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
31 KiB
31 KiB
Change Log
v2.13.0
- Fixed invalid code generation for start/middle rest arguments when
controlFlowFlattenigoption is enabled. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/920 - Internal: Added support of
node@16and dropped support ofnode@10. This should not affect obfuscated code
v2.12.0
stringArraycalls wrappers now inserted asFunctionDeclarationnodes at random indexes
v2.11.1
- CLI: now it's possible to specify the path to the input file after specifying the obfuscator options. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/904
v2.11.0
- Added option
renamePropertiesModeto switch between newsafeand oldunsafemodes ofrenamePropertiesoption. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/878 renamePropertiesoption now works insafeway by default
v2.10.7
- Fixed CVE-2019-18413. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/880
v2.10.6
- Added support of
top-level await. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/884
v2.10.5
- Fixed invalid code generation for rest arguments when
controlFlowFlatteningoption is enabled. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/887
v2.10.4
- Fixed invalid behaviour of
numbersToExpressionsoption for float numbers. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/882
v2.10.3
- Fixed
simplifyoption regression after2.10.2. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/864
v2.10.2
- Fixed behavior of
simplifyoptions when a node with a single-statementbodyis inside simplifiedIfStatementnode. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/860
v2.10.1
- Removed padding characters from all base64 encoded strings. Removed RegExp that trims padding characters from
base64encoded strings fromatobcode helper to prevent mutation ofRegExp.$1value during calls to thestringArray. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/829
v2.10.0
- Improved
rotateStringArrayoption
v2.9.6
- Preventing move of
"use strict";directive during obfuscation
v2.9.5
- Fixed runtime errors in large obfuscated code when both
rc4andbase64encodings are enabled - Some internal refactoring related to node append events
v2.9.4
- Fixed missing prefix of root identifiers added by
stringArrayWrappersCountoption whenidentifiersPrefixoption is set
v2.9.3
- CLI: Fixed wrong name of obfuscated files when input directory path is the
.symbol. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/816
v2.9.2
- Ignore object expressions as body of arrow function expression when
transformObjectKeysoption is enabled. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/813
v2.9.1
- Fixed wrong
stringArrayWrappersParametersMaxCountCLI option name
v2.9.0
- New option:
stringArrayIndexesTypeaccepts an array of types of string array call indexes - Changed default type of all string array call indexes from
hexadecimal-numeric-stringtohexadecimal-number - New option:
stringArrayIndexShiftenables additional index shift for all string array calls - New option:
stringArrayWrappersParametersMaxCountallows to control the maximum number of string array wrappers parameters stringArrayWrappersType: 'function'option value moved fromhigh-obfuscationtomedium-obfuscationoptions preset
v2.8.1
- Fixed incorrect rename of the identifiers of the added helpers in some rare cases. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/804
v2.8.0
- New option
ignoreRequireImportsprevents obfuscation ofrequireimports. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/801
v2.7.1
- Updated
@javascript-obfuscator/escodegento2.1.1
v2.7.0
- Switched form
escodegento@javascript-obfuscator/escodegen - Full support of
nullish-coalescing. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/604 - Support for
exportedfield ofExportAllDeclarationnode. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/710
v2.6.4
- Added ignoring of all object members previous to
SpreadElementwhentransformObjectKeysoption is enabled. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/797
v2.6.3
- Added
ExportSpecifierTransformer. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/791
v2.6.2
- Fixed installation in
PowerShell. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/783 - Tested under
Node.js@15
v2.6.1
- Fixed missing rename of object pattern properties in some cases. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/781
v2.6.0
- Migration to
webpack@5 - Optimized performance of
ExpressionStatementsMergeTransformerwhensimplifyoption is enabled. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/777 - Fixed broken
identifierNamesGenerator: 'mangled-shuffled'after2.2.0. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/778
v2.5.0
- Improved hierarchy of generated directories when
--outputis a directory path - Fixed wrong path generation for obfuscated files for
win32environment. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/576 - Fixed wrong path generation under for source map for
win32environment. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/760 javascript-obfuscatornow can be built underwin32environment
v2.4.3
v2.4.2
- Fixed
URI-malformedwhensplitStringsandstringArrayEncodingoptions are enabled. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/530
v2.4.1
- Small release with some README.md improvements that allow to use it on obfuscator.io
v2.4.0
- New option:
forceTransformStringsallows force transform strings even if bystringArrayThreshold(or possible other thresholds in the future) they shouldn't be transformed. Implemented https://github.com/javascript-obfuscator/javascript-obfuscator/issues/657
v2.3.1
- Fixed a rare bug with
identifierNamesGenerator: 'mangled'option that causes wrong identifier names generation
v2.3.0
- New option:
stringArrayWrappersTypeallows to select a type of the wrappers that are appending by thestringArrayWrappersCountoption - Add force convert of unicode control characters to the unicode escape sequence. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/747
v2.2.1
v2.2.0
- New option (enabled by default):
stringArrayWrappersCountsets the count of wrappers for thestring arrayinside each root or function scope - New option (enabled by default):
stringArrayWrappersChainedCallsenables the chained calls betweenstring arraywrappers
v2.1.0
- New API:
getOptionsByPresetallows to get options for the passed options preset name
v2.0.0
- Breaking change:
stringArrayEncodingoption now accepts an array of encodings. Each string will be randomly encoded with passed encoding
v1.12.1
- Fixed regression bug with combination of
splitStringsandrenamePropertiesoption. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/729
v1.12.0
- New option:
optionsPresetallows to set options preset
v1.11.0
- Improved rename of
deadCodeInjectiondead code identifiers. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/708 - Reverted
TaggedTemplateLiteralobfuscation. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/716
v1.10.2
- Fixed obfuscation of literals of
ExportNamedDeclarationandExportAllDeclarationnodes
v1.10.1
v1.10.0
- Feature: Optional chaining support!
- Added
TaggedTemplateLiteralobfuscation. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/696 - Improved
disableConsoleOutputtemplate. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/691
v1.9.0
- Improved obfuscation of destructured variables. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/688
v1.8.1
- Fixed runtime error
Uncaught SyntaxError: yield is a reserved identifierwhendeadCodeInjectionis enabled
v1.8.0
domainLockoption patterns with leading dot character (.example.com) now cover root domains (example.com) in addition to all sub-domains (sub.example.com). https://github.com/javascript-obfuscator/javascript-obfuscator/issues/640
v1.7.0
simplifyoption now affects all block statements. Improved variable declarations merging.
v1.6.0
- New option:
numbersToExpressionsenables numbers conversion to expressions
v1.5.2
- Prevented mutation of the name sequences of
mangledidentifier name generators
v1.5.1
- Fixed runtime error when
IfStatementcontains only singleletorconstvariable declaration whensimlifyoption enabled. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/661 - Fixed wrong
source-map: 'inline'encoding after1.3.0
v1.5.0
- New
mangled-shuffledidentifier names generator based onmangledidentifier names generator
v1.4.0
- New option:
simplifyenables additional code obfuscation through simplification
v1.3.0
- Improvements of
stringArrayEncoding:base64andrc4 - CLI: added config file extension validation (it still supports
.jsand.jsonextensions) - Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/499
v1.2.2
- Fixed performance regression of
Initializingstage after1.2.0
v1.2.1
- Support of old browsers when
selfDefendingis enabled. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/615
v1.2.0
- Conditional comments will be removed from the code after obfuscation. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/641
v1.1.1
v1.1.0
- New option:
renamePropertiesenables renaming of property names
v1.0.1
- Fixed .d.ts typings. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/623
v1.0.0
- Looks like obfuscator is ready for the first stable release
v0.28.5
- Fixed error during code generation for
ObjectPatternwith singleRestElement. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/607
v0.28.4
- Added correct
self-defendingcode fortarget: 'browser-no-eval'. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/610
v0.28.3
- Removed memory leak with
identifierNamesGenerator: 'mangled'
v0.28.2
- Fixed change of kinds of variables for dead code with
deadCodeInjectionoption
v0.28.1
- Removed
acorn-import-metapackage
v0.28.0
- Added BigInt support. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/588
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/554
v0.27.4
v0.27.3
v0.27.2
- Fixed identifiers prefix generation for
obfuscateMultiplemethod
v0.27.1
- Dependencies update, fixed https://www.npmjs.com/advisories/1488
v0.27.0
- Feature: new method
obfuscateMultipleto obfuscation of multiple source codes
v0.26.0
- Internal: new code transformers mechanism
- Supported obfuscation of files with hashbang operator, https://github.com/javascript-obfuscator/javascript-obfuscator/issues/471
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
- Additional fixes of https://github.com/javascript-obfuscator/javascript-obfuscator/issues/550
v0.25.0
- Improved
mangledidentifier names generator logic - Improved
selfDefendinghelper logic - Fixed a bunch of conflicts between generated identifier names. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/550. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/549
- Prevented transformation of object keys in sequence expression that has
supercall - Support of output directory paths with a dot symbol
- Changed
--outputlogic. Now--outputvalue can describe if it's a file or a directory path. Check README.md for more info
v0.24.6
- Fixed support of exponentiation operator. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/534
- Added file path to the error message during directory obfuscation. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/513
v0.24.5
v0.24.4
- Fixed rc4 encoded value collision: https://github.com/javascript-obfuscator/javascript-obfuscator/issues/538
v0.24.3
v0.24.2
- Reverted validation errors under
nodetarget forsourceMap*options
v0.24.1
v0.24.0
- Internal refactoring: completely new mechanism to rename variable names
- Dynamic import and
import.metasupport. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/505 - Now usage of some browser-related options with
target: 'node'will cause a validation error - Increased
identifierNamesGenerator: 'mangledspeed - CLI: a file path will be displayed on obfuscation error. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/513
- Fixed many
transformObjectKeysruntime errors - Fixed
Maximum call stack size exceedederror on large strings whensplitStringoption is enabled - Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/516
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/512
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/496
- Internal: switched from
awesome-typescript-loaderonts-loader
v0.23.2
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/475
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/326
v0.23.1
v0.23.0
- New option:
shuffleStringArrayrandomly shuffles string array items - Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/494
- Internal change: switched AST parser from
espreeonacorn - Internal refactoring: refactoring of string array storage and related things
v0.22.1
- Fixed
TypeError: Assignment to constant variablewhen auto-detection of kind of variables is insertedconstvariables forcontrolFlowStoragenodes
v0.22.0
- Breaking: auto-detection of kind of variables of inserted nodes, based on most prevailing kind of variables of source code
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/486
v0.21.1
- Fixed conditional comments in some rare cases
v0.21.0
- Improved
transformObjectKeystransformation to cover more cases - Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/406
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/387
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/333
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/328
v0.20.4
- Fixed typings. Now string values correctly assignable to enum-like options
v0.20.3
- Fixed
for-await-ofstatement: https://github.com/javascript-obfuscator/javascript-obfuscator/issues/419
v0.20.2
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/pull/442
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/468
- Added funding button
- Internal dependencies update, Happy New Year 2020!
v0.20.1
- Fixed identifier names generations for
mangledanddictionaryidentifier names generators - Fixed combination of
identifierNamesGenerator: dictionaryanddebugProtectionoptions seedoption now acceptsstringandnumbervalues
v0.20.0
- Breaking: dropped support of Node 8 because of end of maintenance support
- New option value:
identifierNamesGeneratornow allows to set newdictionaryidentifier names generator - New option:
identifiersDictionarysets identifiers dictionary foridentifierNamesGenerator: dictionaryoption
Thanks to our contributors!
v0.19.4
- Fixed
reservedNamesoption
Thanks to our contributors!
v0.19.3
- The
splitStringsoption now correctly works withtransformObjectKeysoption - Internal
TransformersRunnerrework to support topological sort of node transformers
v0.19.2
- The
splitStringsoption now correctly splits strings inside objects
v0.19.1
- The
splitStringsoption now affects template literal strings
v0.19.0
- New option:
splitStringssplits literal strings into chunks with length ofsplitStringsChunkLengthoption value - New option:
splitStringsChunkLengthsets chunk length ofsplitStringsoption
v0.18.8
v0.18.7
v0.18.6
Thanks to our contributors!
v0.18.5
- Breaking: require Node.js 8 after dependencies update
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/321
Thanks to our contributors!
v0.18.4
Thanks to our contributors!
v0.18.3
Thanks to our contributors!
v0.18.2
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/320
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/319
v0.18.1
v0.18.0
- New option:
reservedStringsdisables transformation of string literals, which being matched by passed RegExp patterns - Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/313
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/309
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/307
v0.17.3
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/303
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/302
v0.17.2
v0.17.1
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/293
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/289
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/288
v0.17.0
- Browser version: Added browser version dist
- New Node API option:
inputFileNameallows to set name of the input file with source code. This name will used internally, for example, for source map generation. - #274
domainLocknow will work in SVG.
Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/273 - Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/271
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/264
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/260
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/252
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/247
v0.16.0
- Correct obfuscation of object rest and spread properties
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/243
v0.15.0
- Internal change: switched AST parser from
esprimaonespree - Breaking change: dropped
node@4andnode@5support. - Breaking change: renamed
extensionvalue oftargetoption onbrowser-no-eval. - Breaking change: disabled generation of identifiers, which being matched by
reservedNameoption. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/216 - New CLI option:
excludeallows to exclude specific files or directories from obfuscation. - Correct obfuscation of
importandexportdeclarations. - Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/231
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/217
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/210
- Internal: refactoring of many things.
v0.14.3
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/195
- Added code preview to
esprimaerror messages.
v0.14.2
v0.14.1
v0.14.0
- New option:
identifiersPrefixsets prefix for all global identifiers. - New option:
transformObjectKeysenables object keys transformation and obfuscation. - New feature:
evalexpressions obfuscation. - Breaking change: Now CLI obfuscating directory recursively. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/157
- Fixed runtime errors when
deadCodeInjectionis enabled andidentifierNamesGeneratoris set tomangled. - Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/171
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/166
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/156
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/159
v0.13.0
- Breaking change:
mangleoption was removed. - New option:
identifierNamesGeneratorallows to set identifier names generator (hexadecimalormangled). - Breaking change: all CLI options were renamed to
kebab-caseformat (--disableConsoleOutout->--disable-console-output). - Implemented custom
mangleoption algorithm withoutesmangle; fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/110 - Comments with
@licenseand@preservewords won't be removed from obfuscated code. - Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/147
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/149
v0.12.5
v0.12.4
v0.12.3
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/129
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/125 (dead code injection and await expression)
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/123
v0.12.2
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/121
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/119
v0.12.1
v0.12.0
- New option:
targetallows 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
es2015class names. - CLI: added directory obfuscation.
v0.11.2
v0.11.1
v0.11.0
- New option:
logenables logging of the information to the console. - New option:
renameGlobalsallows to enable obfuscation of global variable and function names with declaration.
v0.10.2
v0.10.1
v0.10.0
- New option:
deadCodeInjection. With this option random blocks of dead code will add to the obfuscated code. - New option:
deadCodeInjectionThresholdallows to set percentage of nodes that will affected bydeadCodeInjection. - New option:
mangleenables mangling of variable names. - New CLI option:
--configallows to set config file with obfuscator options. - Breaking change:
disableConsoleOutputoption now disabled by default. - Breaking change:
escapeUnicodeSequenceoption now disabled by default. controlFlowFlatteningnow affects string literal nodes.- Increased runtime performance with
rc4stringArrayEncoding. - Added support for async functions
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/71
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/65
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/60
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/59
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/54
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/57
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/58
- Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/58
v0.9.3
- Switched from
escodegentoescodegen-wallaby, fixed https://github.com/javascript-obfuscator/javascript-obfuscator/pull/50
v0.9.2
- Removed coverage dir from npm package
v0.9.1
v0.9.0
- Breaking change: dropped
node@0.10andnode@0.12support. - 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.
v0.9.0-beta.5
- Increased performance
- Fixed very rare
Cannot read property 'type' of undefinederror, whenRandomGeneratorUtils.getMathRandom()returned incorrect value1.
v0.9.0-beta.4
- Increased performance
v0.9.0-beta.3
- Breaking change: dropped
node@0.10andnode@0.12support. - Switched from
npmtoyarninternally.
v0.9.0-beta.2
- Transformers refactoring
v0.9.0-beta.1
- 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.
v0.8.6
- Additional fixes for https://github.com/javascript-obfuscator/javascript-obfuscator/issues/29
v0.8.5
v0.8.4
v0.8.3
selfDefendingoption now disabled by default.
v0.8.2
- New option
seedsets seed for random generator. This is useful for creating repeatable results. - IE8 runtime error fix.
v0.8.1
disableConsoleOutputoption now replacesconsole.xxxfunctions on empty function instead of infinity loop.
v0.8.0
- 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.
v0.7.3
- CLI missing polyfill fix #17
v0.7.2
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.decToHexmethod
v0.7.0-dev.1
- 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.