Releases: javascript-obfuscator/javascript-obfuscator
Releases Β· javascript-obfuscator/javascript-obfuscator
5.4.1 version
- Fixed
Utils.nodeRequirecausingReferenceError: require is not definedin 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
domainLockbeing case-sensitive β domain values are now normalized to lowercase. Fixes #1182 - Removed
source-map-supportruntime dependency. Usenode --enable-source-mapsinstead. Fixes #1149
5.4.0 version
- Add support for
import attributes. Fixes #1256 - Add
renamePropertiessupport for private class fields and methods (#foo,#bar()). Fixes #1220 - Fixed
reservedNamesnot preserving class method and property names whenstringArrayordeadCodeInjectionis enabled. Fixes #1279 - Fixed infinite loop / stack overflow when
reservedNamespatterns match all generated identifier names. Now throws a descriptive error instead. Fixes #1382 - Fixed
transformObjectKeyschanging 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
renameGlobalsis disabled. Fixes #1141 - Fixed CLI
--options-presetnot applying preset values for options not explicitly set via command line (e.g.splitStringsfromhigh-obfuscationpreset was ignored). Fixes #1236 - Replaced
mkdirpdependency with nativefs.mkdirSync({ recursive: true }). Fixes #1275. Thank you https://github.com/roli-lpci! - Updated reserved DOM properties list, fixing
renamePropertiesbreaking modern built-in methods likeArray.prototype.at(). Fixes #1066 - Replaced
confdependency with custom implementation usingenv-pathsand nativefs
5.3.1 version
- 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
- Add Pro API support to CLI
- Add large files upload support to Pro API
5.2.1 version
- Fixed
transformObjectKeysincorrectly 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
awaitis used as an identifier in non-async context. Fixes #1127 - Fixed
deadCodeInjectioncausing SyntaxError whenargumentsfrom collected block statements was injected into class field initializers or static initialization blocks. Fixes #1166 - Fixed
transformObjectKeyswithmangledidentifier generator causing variable shadowing when extracted object variable name matched an existing inner scope variable. Fixes #1232
5.2.0 version
- Skip obfuscation of
process.env.* - Fixed
controlFlowFlatteningbreaking 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.cloneRecursivecorruptingrangeproperty when cloning AST nodes, causing scope analysis to incorrectly resolve destructuring default parameter references
5.1.0 version
- Add
versionparameter to theapiConfigto use different versions JavaScript Obfuscator Pro via API
5.0.0 version
- Add JavaScript Obfuscator PRO support via calling its API
4.2.1 version
- Downgrade
multimatchversion to avoid esm errors
4.2.0 version
- Dropped support of Node versions 17 and below
- Fix
transformObjectKeysperformance in some edge-cases - Fix
controlFlowFlattening+ optional chaining compatibility. Fixes #1325 - Don't obfuscate import.meta.*. Fixes #1267
- Revert
Improved stringArray calls wrapper templatescommit. 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-validatorversion. Fixes #1324 - Update other dependencies
- CLI: support
.mjsand.cjsextensions. Kudos to #1301