Releases · javascript-obfuscator/javascript-obfuscator · GitHub
Skip to content

Releases: javascript-obfuscator/javascript-obfuscator

5.4.3 version

Choose a tag to compare

@sanex3339 sanex3339 released this 21 May 19:02
a4ed355
  • Fixed controlFlowFlattening occasionally dropping the ?. short-circuit on foo?.(arg) calls, causing TypeError: <X> is not a function. Fixes #1408

5.4.2 version

Choose a tag to compare

@sanex3339 sanex3339 released this 24 Apr 05:30
  • Fixed obfuscated code hanging in Bun when selfDefending is enabled. Fixes #1404

5.4.1 version

Choose a tag to compare

@sanex3339 sanex3339 released this 22 Mar 13:25
dd62fea
  • Fixed Utils.nodeRequire causing ReferenceError: require is not defined in browser build by making it lazy-evaluated
  • Fixed missing space between keywords (return, throw, typeof) and Unicode surrogate pair identifiers in compact mode. Fixes #1112
  • Fixed domainLock being case-sensitive — domain values are now normalized to lowercase. Fixes #1182
  • Removed source-map-support runtime dependency. Use node --enable-source-maps instead. Fixes #1149

5.4.0 version

Choose a tag to compare

@sanex3339 sanex3339 released this 22 Mar 09:05
84861e8
  • Add support for import attributes. Fixes #1256
  • Add renameProperties support for private class fields and methods (#foo, #bar()). Fixes #1220
  • Fixed reservedNames not preserving class method and property names when stringArray or deadCodeInjection is enabled. Fixes #1279
  • Fixed infinite loop / stack overflow when reservedNames patterns match all generated identifier names. Now throws a descriptive error instead. Fixes #1382
  • Fixed transformObjectKeys changing evaluation order when object expression is inside a sequence expression with preceding side effects (e.g. return aux(ys), { min }). Fixes #1246
  • Fixed destructuring patterns inside class static blocks not being renamed when renameGlobals is disabled. Fixes #1141
  • Fixed CLI --options-preset not applying preset values for options not explicitly set via command line (e.g. splitStrings from high-obfuscation preset was ignored). Fixes #1236
  • Replaced mkdirp dependency with native fs.mkdirSync({ recursive: true }). Fixes #1275. Thank you https://github.com/roli-lpci!
  • Updated reserved DOM properties list, fixing renameProperties breaking modern built-in methods like Array.prototype.at(). Fixes #1066
  • Replaced conf dependency with custom implementation using env-paths and native fs

5.3.1 version

Choose a tag to compare

@sanex3339 sanex3339 released this 21 Mar 17:01
7792fb0
  • Fixed class expression name references inside class body being incorrectly resolved to an import binding with the same name, causing broken code at runtime. Fixes #1386

5.3.0 version

Choose a tag to compare

@sanex3339 sanex3339 released this 04 Feb 16:28
  • Add Pro API support to CLI
  • Add large files upload support to Pro API

5.2.1 version

Choose a tag to compare

@sanex3339 sanex3339 released this 28 Jan 05:15
6864328
  • Fixed transformObjectKeys incorrectly hoisting object literal outside of loop when loop body is a single statement without braces, causing all iterations to share the same object reference. Fixes #1300
  • Fixed parsing error when await is used as an identifier in non-async context. Fixes #1127
  • Fixed deadCodeInjection causing SyntaxError when arguments from collected block statements was injected into class field initializers or static initialization blocks. Fixes #1166
  • Fixed transformObjectKeys with mangled identifier generator causing variable shadowing when extracted object variable name matched an existing inner scope variable. Fixes #1232

5.2.0 version

Choose a tag to compare

@sanex3339 sanex3339 released this 27 Jan 14:25
3848bca
  • Skip obfuscation of process.env.*
  • Fixed controlFlowFlattening breaking short-circuit evaluation with spread operator and conditional objects. Fixes #1372
  • Fix Annex B function hoisting: block-scoped function declarations are now correctly linked to references outside the block in non-strict mode
  • Fixed NodeUtils.cloneRecursive corrupting range property when cloning AST nodes, causing scope analysis to incorrectly resolve destructuring default parameter references

5.1.0 version

Choose a tag to compare

@sanex3339 sanex3339 released this 13 Dec 15:48
6866396
  • Add version parameter to the apiConfig to use different versions JavaScript Obfuscator Pro via API

5.0.0 version

Choose a tag to compare

@sanex3339 sanex3339 released this 06 Dec 20:04
  • Add JavaScript Obfuscator PRO support via calling its API