Skip to content

Releases: javascript-obfuscator/javascript-obfuscator

5.4.1 version

22 Mar 13:25
dd62fea

Choose a tag to compare

  • 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

22 Mar 09:05
84861e8

Choose a tag to compare

  • 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

21 Mar 17:01
7792fb0

Choose a tag to compare

  • 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

04 Feb 16:28

Choose a tag to compare

  • Add Pro API support to CLI
  • Add large files upload support to Pro API

5.2.1 version

28 Jan 05:15
6864328

Choose a tag to compare

  • 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

27 Jan 14:25
3848bca

Choose a tag to compare

  • 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

13 Dec 15:48
6866396

Choose a tag to compare

  • Add version parameter to the apiConfig to use different versions JavaScript Obfuscator Pro via API

5.0.0 version

06 Dec 20:04

Choose a tag to compare

  • Add JavaScript Obfuscator PRO support via calling its API

4.2.1 version

04 Dec 14:47
3bb9b18

Choose a tag to compare

  • Downgrade multimatch version to avoid esm errors

4.2.0 version

03 Dec 20:16

Choose a tag to compare

  • Dropped support of Node versions 17 and below
  • Fix transformObjectKeys performance in some edge-cases
  • Fix controlFlowFlattening + optional chaining compatibility. Fixes #1325
  • Don't obfuscate import.meta.*. Fixes #1267
  • Revert Improved stringArray calls wrapper templates commit. Fixes #1330
  • Fix error when ClassExpression is the CallExpression callee. Fixes #1132
  • Don't publish root index.ts files to NPM. Fixes #1252
  • Update class-validator version. Fixes #1324
  • Update other dependencies
  • CLI: support .mjs and .cjs extensions. Kudos to #1301