1 | Change Log
|
2 |
|
3 | v2.15.4
|
4 | ---
|
5 | * Improved `stringArray` calls wrapper code
|
6 |
|
7 | v2.15.3
|
8 | ---
|
9 | * Slightly improved integration between `deadCodeInjection` and `stringArrayWrappersChainedCalls` options
|
10 |
|
11 | v2.15.2
|
12 | ---
|
13 | * Fixed invalid behaviour of `transformObjectKeys` option when object values contains `this` references. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/937
|
14 |
|
15 | v2.15.1
|
16 | ---
|
17 | * **Hotfix**: `domainDest` => `domainLockRedirectUrl` option rename
|
18 |
|
19 | v2.15.0
|
20 | ---
|
21 | * Added `domainDest` option that option allows the browser to be redirected to a passed domain if the source code isn't run on the domains or URL specified by `domainLock`. Thank you https://github.com/erikdubbelboer!
|
22 | * `ObfuscationResult` object now contains `getOptions` method to get options that were used during obfuscation
|
23 |
|
24 | v2.14.0
|
25 | ---
|
26 | * Added `identifierNamesCache` option for reading and writing identifier names cache. See `README.md`.
|
27 | * **CLI**: Added `--identifier-names-cache-path` option for reading and writing identifier names cache. See `README.md`.
|
28 |
|
29 | v2.13.0
|
30 | ---
|
31 | * Fixed invalid code generation for start/middle rest arguments when `controlFlowFlattenig` option is enabled. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/920
|
32 | * **Internal**: Added support of `node@16` and dropped support of `node@10`. This should not affect obfuscated code
|
33 |
|
34 | v2.12.0
|
35 | ---
|
36 | * `stringArray` calls wrappers now inserted as `FunctionDeclaration` nodes at random indexes
|
37 |
|
38 | v2.11.1
|
39 | ---
|
40 | * **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
|
41 |
|
42 | v2.11.0
|
43 | ---
|
44 | * Added option `renamePropertiesMode` to switch between new `safe` and old `unsafe` modes of `renameProperties` option. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/878
|
45 | * `renameProperties` option now works in `safe` way by default
|
46 |
|
47 | v2.10.7
|
48 | ---
|
49 | * Fixed CVE-2019-18413. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/880
|
50 |
|
51 | v2.10.6
|
52 | ---
|
53 | * Added support of `top-level await`. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/884
|
54 |
|
55 | v2.10.5
|
56 | ---
|
57 | * Fixed invalid code generation for rest arguments when `controlFlowFlattening` option is enabled. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/887
|
58 |
|
59 | v2.10.4
|
60 | ---
|
61 | * Fixed invalid behaviour of `numbersToExpressions` option for float numbers. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/882
|
62 |
|
63 | v2.10.3
|
64 | ---
|
65 | * Fixed `simplify` option regression after `2.10.2`. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/864
|
66 |
|
67 | v2.10.2
|
68 | ---
|
69 | * Fixed behavior of `simplify` options when a node with a single-statement `body` is inside simplified `IfStatement` node. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/860
|
70 |
|
71 | v2.10.1
|
72 | ---
|
73 | * Removed padding characters from all base64 encoded strings. Removed RegExp that trims padding characters from `base64` encoded strings from `atob` code helper to prevent mutation of `RegExp.$1` value during calls to the `stringArray`. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/829
|
74 |
|
75 | v2.10.0
|
76 | ---
|
77 | * Improved `rotateStringArray` option
|
78 |
|
79 | v2.9.6
|
80 | ---
|
81 | * Preventing move of `"use strict";` directive during obfuscation
|
82 |
|
83 | v2.9.5
|
84 | ---
|
85 | * Fixed runtime errors in large obfuscated code when both `rc4` and `base64` encodings are enabled
|
86 | * Some internal refactoring related to node append events
|
87 |
|
88 | v2.9.4
|
89 | ---
|
90 | * Fixed missing prefix of root identifiers added by `stringArrayWrappersCount` option when `identifiersPrefix` option is set
|
91 |
|
92 | v2.9.3
|
93 | ---
|
94 | * **CLI**: Fixed wrong name of obfuscated files when input directory path is the `.` symbol. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/816
|
95 |
|
96 | v2.9.2
|
97 | ---
|
98 | * Ignore object expressions as body of arrow function expression when `transformObjectKeys` option is enabled. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/813
|
99 |
|
100 | v2.9.1
|
101 | ---
|
102 | * Fixed wrong `stringArrayWrappersParametersMaxCount` CLI option name
|
103 |
|
104 | v2.9.0
|
105 | ---
|
106 | * New option: `stringArrayIndexesType` accepts an array of types of string array call indexes
|
107 | * Changed default type of all string array call indexes from `hexadecimal-numeric-string` to `hexadecimal-number`
|
108 | * New option: `stringArrayIndexShift` enables additional index shift for all string array calls
|
109 | * New option: ``stringArrayWrappersParametersMaxCount`` allows to control the maximum number of string array wrappers parameters
|
110 | * `stringArrayWrappersType: 'function'` option value moved from `high-obfuscation` to `medium-obfuscation` options preset
|
111 |
|
112 | v2.8.1
|
113 | ---
|
114 | * Fixed incorrect rename of the identifiers of the added helpers in some rare cases. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/804
|
115 |
|
116 | v2.8.0
|
117 | ---
|
118 | * New option `ignoreRequireImports` prevents obfuscation of `require` imports. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/801
|
119 |
|
120 | v2.7.1
|
121 | ---
|
122 | * Updated `@javascript-obfuscator/escodegen` to `2.1.1`
|
123 |
|
124 | v2.7.0
|
125 | ---
|
126 | * Switched form `escodegen` to `@javascript-obfuscator/escodegen`
|
127 | * Full support of `nullish-coalescing`. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/604
|
128 | * Support for `exported` field of `ExportAllDeclaration` node. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/710
|
129 |
|
130 | v2.6.4
|
131 | ---
|
132 | * Added ignoring of all object members previous to `SpreadElement` when `transformObjectKeys` option is enabled. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/797
|
133 |
|
134 | v2.6.3
|
135 | ---
|
136 | * Added `ExportSpecifierTransformer`. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/791
|
137 |
|
138 | v2.6.2
|
139 | ---
|
140 | * Fixed installation in `PowerShell`. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/783
|
141 | * Tested under `Node.js@15`
|
142 |
|
143 | v2.6.1
|
144 | ---
|
145 | * Fixed missing rename of object pattern properties in some cases. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/781
|
146 |
|
147 | v2.6.0
|
148 | ---
|
149 | * Migration to `webpack@5`
|
150 | * Optimized performance of `ExpressionStatementsMergeTransformer` when `simplify` option is enabled. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/777
|
151 | * Fixed broken `identifierNamesGenerator: 'mangled-shuffled'` after `2.2.0`. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/778
|
152 |
|
153 | v2.5.0
|
154 | ---
|
155 | * Improved hierarchy of generated directories when `--output` is a directory path
|
156 | * Fixed wrong path generation for obfuscated files for `win32` environment. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/576
|
157 | * Fixed wrong path generation under for source map for `win32` environment. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/760
|
158 | * `javascript-obfuscator` now can be built under `win32` environment
|
159 |
|
160 | v2.4.3
|
161 | ---
|
162 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/769
|
163 |
|
164 | v2.4.2
|
165 | ---
|
166 | * Fixed `URI-malformed` when `splitStrings` and `stringArrayEncoding` options are enabled. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/530
|
167 |
|
168 | v2.4.1
|
169 | ---
|
170 | * Small release with some README.md improvements that allow to use it on [obfuscator.io](https://obfuscator.io)
|
171 |
|
172 | v2.4.0
|
173 | ---
|
174 | * **New option:** `forceTransformStrings` allows force transform strings even if by `stringArrayThreshold` (or possible other thresholds in the future) they shouldn't be transformed. Implemented https://github.com/javascript-obfuscator/javascript-obfuscator/issues/657
|
175 |
|
176 | v2.3.1
|
177 | ---
|
178 | * Fixed a rare bug with `identifierNamesGenerator: 'mangled'` option that causes wrong identifier names generation
|
179 |
|
180 | v2.3.0
|
181 | ---
|
182 | * **New option:** `stringArrayWrappersType` allows to select a type of the wrappers that are appending by the `stringArrayWrappersCount` option
|
183 | * Add force convert of unicode control characters to the unicode escape sequence. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/747
|
184 |
|
185 | v2.2.1
|
186 | ---
|
187 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/745
|
188 |
|
189 | v2.2.0
|
190 | ---
|
191 | * **New option (enabled by default):** `stringArrayWrappersCount` sets the count of wrappers for the `string array` inside each root or function scope
|
192 | * **New option (enabled by default):** `stringArrayWrappersChainedCalls` enables the chained calls between `string array` wrappers
|
193 |
|
194 | v2.1.0
|
195 | ---
|
196 | * **New API:** `getOptionsByPreset` allows to get options for the passed options preset name
|
197 |
|
198 | v2.0.0
|
199 | ---
|
200 | * **Breaking change:** `stringArrayEncoding` option now accepts an array of encodings. Each string will be randomly encoded with passed encoding
|
201 |
|
202 | v1.12.1
|
203 | ---
|
204 | * Fixed regression bug with combination of `splitStrings` and `renameProperties` option. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/729
|
205 |
|
206 | v1.12.0
|
207 | ---
|
208 | * **New option:** `optionsPreset` allows to set options preset
|
209 |
|
210 | v1.11.0
|
211 | ---
|
212 | * Improved rename of `deadCodeInjection` dead code identifiers. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/708
|
213 | * **Reverted** `TaggedTemplateLiteral` obfuscation. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/716
|
214 |
|
215 | v1.10.2
|
216 | ---
|
217 | * Fixed obfuscation of literals of `ExportNamedDeclaration` and `ExportAllDeclaration` nodes
|
218 |
|
219 | v1.10.1
|
220 | ---
|
221 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/707
|
222 |
|
223 | v1.10.0
|
224 | ---
|
225 | * **Feature:** Optional chaining support!
|
226 | * Added `TaggedTemplateLiteral` obfuscation. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/696
|
227 | * Improved `disableConsoleOutput` template. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/691
|
228 |
|
229 | v1.9.0
|
230 | ---
|
231 | * Improved obfuscation of destructured variables. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/688
|
232 |
|
233 | v1.8.1
|
234 | ---
|
235 | * Fixed runtime error `Uncaught SyntaxError: yield is a reserved identifier` when `deadCodeInjection` is enabled
|
236 |
|
237 | v1.8.0
|
238 | ---
|
239 | * `domainLock` option 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
|
240 |
|
241 | v1.7.0
|
242 | ---
|
243 | * `simplify` option now affects all block statements. Improved variable declarations merging.
|
244 |
|
245 | v1.6.0
|
246 | ---
|
247 | * **New option:** `numbersToExpressions` enables numbers conversion to expressions
|
248 |
|
249 | v1.5.2
|
250 | ---
|
251 | * Prevented mutation of the name sequences of `mangled` identifier name generators
|
252 |
|
253 | v1.5.1
|
254 | ---
|
255 | * Fixed runtime error when `IfStatement` contains only single `let` or `const` variable declaration when `simlify` option enabled. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/661
|
256 | * Fixed wrong `source-map: 'inline'` encoding after `1.3.0`
|
257 |
|
258 | v1.5.0
|
259 | ---
|
260 | * New `mangled-shuffled` identifier names generator based on `mangled` identifier names generator
|
261 |
|
262 | v1.4.0
|
263 | ---
|
264 | * **New option:** `simplify` enables additional code obfuscation through simplification
|
265 |
|
266 | v1.3.0
|
267 | ---
|
268 | * Improvements of `stringArrayEncoding`: `base64` and `rc4`
|
269 | * **CLI**: added config file extension validation (it still supports `.js` and `.json` extensions)
|
270 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/499
|
271 |
|
272 | v1.2.2
|
273 | ---
|
274 | * Fixed performance regression of `Initializing` stage after `1.2.0`
|
275 |
|
276 | v1.2.1
|
277 | ---
|
278 | * Support of old browsers when `selfDefending` is enabled. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/615
|
279 |
|
280 | v1.2.0
|
281 | ---
|
282 | * Conditional comments will be removed from the code after obfuscation. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/641
|
283 |
|
284 | v1.1.1
|
285 | ---
|
286 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/638
|
287 |
|
288 | v1.1.0
|
289 | ---
|
290 | * **New option:** `renameProperties` enables renaming of property names
|
291 |
|
292 | v1.0.1
|
293 | ---
|
294 | * Fixed .d.ts typings. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/623
|
295 |
|
296 | v1.0.0
|
297 | ---
|
298 | * Looks like obfuscator is ready for the first stable release
|
299 |
|
300 | v0.28.5
|
301 | ---
|
302 | * Fixed error during code generation for `ObjectPattern` with single `RestElement`. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/607
|
303 |
|
304 | v0.28.4
|
305 | ---
|
306 | * Added correct `self-defending` code for `target: 'browser-no-eval'`. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/610
|
307 |
|
308 | v0.28.3
|
309 | ---
|
310 | * Removed memory leak with `identifierNamesGenerator: 'mangled'`
|
311 |
|
312 | v0.28.2
|
313 | ---
|
314 | * Fixed change of kinds of variables for dead code with `deadCodeInjection` option
|
315 |
|
316 | v0.28.1
|
317 | ---
|
318 | * Removed `acorn-import-meta` package
|
319 |
|
320 | v0.28.0
|
321 | ---
|
322 | * Added BigInt support. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/588
|
323 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/554
|
324 |
|
325 | v0.27.4
|
326 | ---
|
327 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/590
|
328 |
|
329 | v0.27.3
|
330 | ---
|
331 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/593
|
332 |
|
333 | v0.27.2
|
334 | ---
|
335 | * Fixed identifiers prefix generation for `obfuscateMultiple` method
|
336 |
|
337 | v0.27.1
|
338 | ---
|
339 | * Dependencies update, fixed https://www.npmjs.com/advisories/1488
|
340 |
|
341 | v0.27.0
|
342 | ---
|
343 | * **Feature:** new method `obfuscateMultiple` to obfuscation of multiple source codes
|
344 |
|
345 | v0.26.0
|
346 | ---
|
347 | * **Internal:** new code transformers mechanism
|
348 | * Supported obfuscation of files with hashbang operator, https://github.com/javascript-obfuscator/javascript-obfuscator/issues/471
|
349 |
|
350 | v0.25.5
|
351 | ---
|
352 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/575
|
353 |
|
354 | v0.25.4
|
355 | ---
|
356 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/569
|
357 |
|
358 | v0.25.3
|
359 | ---
|
360 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/568
|
361 |
|
362 | v0.25.2
|
363 | ---
|
364 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/563
|
365 |
|
366 | v0.25.1
|
367 | ---
|
368 | * Additional fixes of https://github.com/javascript-obfuscator/javascript-obfuscator/issues/550
|
369 |
|
370 | v0.25.0
|
371 | ---
|
372 | * Improved `mangled` identifier names generator logic
|
373 | * Improved `selfDefending` helper logic
|
374 | * 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
|
375 | * Prevented transformation of object keys in sequence expression that has `super` call
|
376 | * Support of output directory paths with a dot symbol
|
377 | * Changed `--output` logic. Now `--output` value can describe if it's a file or a directory path. Check README.md for more info
|
378 |
|
379 | v0.24.6
|
380 | ---
|
381 | * Fixed support of exponentiation operator. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/534
|
382 | * Added file path to the error message during directory obfuscation. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/513
|
383 |
|
384 | v0.24.5
|
385 | ---
|
386 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/542
|
387 |
|
388 | v0.24.4
|
389 | ---
|
390 | * Fixed rc4 encoded value collision: https://github.com/javascript-obfuscator/javascript-obfuscator/issues/538
|
391 |
|
392 | v0.24.3
|
393 | ---
|
394 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/535
|
395 |
|
396 | v0.24.2
|
397 | ---
|
398 | * Reverted validation errors under `node` target for `sourceMap*` options
|
399 |
|
400 | v0.24.1
|
401 | ---
|
402 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/531
|
403 |
|
404 | v0.24.0
|
405 | ---
|
406 | * **Internal refactoring:** completely new mechanism to rename variable names
|
407 | * Dynamic import and `import.meta` support. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/505
|
408 | * Now usage of some browser-related options with `target: 'node'` will cause a validation error
|
409 | * Increased `identifierNamesGenerator: 'mangled` speed
|
410 | * **CLI:** a file path will be displayed on obfuscation error. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/513
|
411 | * Fixed many `transformObjectKeys` runtime errors
|
412 | * Fixed `Maximum call stack size exceeded` error on large strings when `splitString` option is enabled
|
413 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/516
|
414 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/512
|
415 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/496
|
416 | * **Internal:** switched from `awesome-typescript-loader` on `ts-loader`
|
417 |
|
418 | v0.23.2
|
419 | ---
|
420 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/475
|
421 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/326
|
422 |
|
423 | v0.23.1
|
424 | ---
|
425 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/498
|
426 |
|
427 | v0.23.0
|
428 | ---
|
429 | * **New option:** `shuffleStringArray` randomly shuffles string array items
|
430 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/494
|
431 | * **Internal change:** switched AST parser from `espree` on `acorn`
|
432 | * **Internal refactoring:** refactoring of string array storage and related things
|
433 |
|
434 | v0.22.1
|
435 | ---
|
436 | * Fixed `TypeError: Assignment to constant variable` when auto-detection of kind of variables is inserted `const` variables for `controlFlowStorage` nodes
|
437 |
|
438 | v0.22.0
|
439 | ---
|
440 | * **Breaking:** auto-detection of kind of variables of inserted nodes, based on most prevailing kind of variables of source code
|
441 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/486
|
442 |
|
443 | v0.21.1
|
444 | ---
|
445 | * Fixed conditional comments in some rare cases
|
446 |
|
447 |
|
448 | v0.21.0
|
449 | ---
|
450 | * Improved `transformObjectKeys` transformation to cover more cases
|
451 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/406
|
452 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/387
|
453 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/333
|
454 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/328
|
455 |
|
456 | v0.20.4
|
457 | ---
|
458 | * Fixed typings. Now string values correctly assignable to enum-like options
|
459 |
|
460 | v0.20.3
|
461 | ---
|
462 | * Fixed `for-await-of` statement: https://github.com/javascript-obfuscator/javascript-obfuscator/issues/419
|
463 |
|
464 | v0.20.2
|
465 | ---
|
466 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/pull/442
|
467 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/468
|
468 | * Added funding button
|
469 | * Internal dependencies update, Happy New Year 2020!
|
470 |
|
471 | v0.20.1
|
472 | ---
|
473 | * Fixed identifier names generations for `mangled` and `dictionary` identifier names generators
|
474 | * Fixed combination of `identifierNamesGenerator: dictionary` and `debugProtection` options
|
475 | * `seed` option now accepts `string` and `number` values
|
476 |
|
477 | v0.20.0
|
478 | ---
|
479 | * **Breaking:** dropped support of Node 8 because of end of maintenance support
|
480 | * **New option value:** `identifierNamesGenerator` now allows to set new `dictionary` identifier names generator
|
481 | * **New option:** `identifiersDictionary` sets identifiers dictionary for `identifierNamesGenerator: dictionary` option
|
482 |
|
483 | Thanks to our contributors!
|
484 | * [adiantek](https://github.com/adiantek)
|
485 |
|
486 | v0.19.4
|
487 | ---
|
488 | * Fixed `reservedNames` option
|
489 |
|
490 | Thanks to our contributors!
|
491 | * [kida7](https://github.com/kida7)
|
492 |
|
493 | v0.19.3
|
494 | ---
|
495 | * The `splitStrings` option now correctly works with `transformObjectKeys` option
|
496 | * Internal `TransformersRunner` rework to support topological sort of node transformers
|
497 |
|
498 | v0.19.2
|
499 | ---
|
500 | * The `splitStrings` option now correctly splits strings inside objects
|
501 |
|
502 | v0.19.1
|
503 | ---
|
504 | * The `splitStrings` option now affects template literal strings
|
505 |
|
506 | v0.19.0
|
507 | ---
|
508 | * **New option:** `splitStrings` splits literal strings into chunks with length of `splitStringsChunkLength` option value
|
509 | * **New option:** `splitStringsChunkLength` sets chunk length of `splitStrings` option
|
510 |
|
511 | v0.18.8
|
512 | ---
|
513 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/452
|
514 |
|
515 | v0.18.7
|
516 | ---
|
517 | * Fixed https://github.com/javascript-obfuscator/gulp-javascript-obfuscator/issues/22
|
518 |
|
519 | v0.18.6
|
520 | ---
|
521 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/355
|
522 |
|
523 | Thanks to our contributors!
|
524 | * [Zamotkin](https://github.com/zamotkin)
|
525 |
|
526 | v0.18.5
|
527 | ---
|
528 | * Breaking: require Node.js 8 after dependencies update
|
529 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/321
|
530 |
|
531 | Thanks to our contributors!
|
532 | * [Zamotkin](https://github.com/zamotkin)
|
533 |
|
534 | v0.18.4
|
535 | ---
|
536 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/437
|
537 |
|
538 | Thanks to our contributors!
|
539 | * [Zamotkin](https://github.com/zamotkin)
|
540 |
|
541 | v0.18.3
|
542 | ---
|
543 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/424
|
544 |
|
545 | Thanks to our contributors!
|
546 | * [Zamotkin](https://github.com/zamotkin)
|
547 |
|
548 | v0.18.2
|
549 | ---
|
550 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/320
|
551 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/319
|
552 |
|
553 | v0.18.1
|
554 | ---
|
555 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/317
|
556 |
|
557 | v0.18.0
|
558 | ---
|
559 | * **New option:** `reservedStrings` disables transformation of string literals, which being matched by passed RegExp patterns
|
560 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/313
|
561 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/309
|
562 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/307
|
563 |
|
564 | v0.17.3
|
565 | ---
|
566 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/303
|
567 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/302
|
568 |
|
569 | v0.17.2
|
570 | ---
|
571 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/297
|
572 |
|
573 | v0.17.1
|
574 | ---
|
575 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/293
|
576 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/289
|
577 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/288
|
578 |
|
579 | v0.17.0
|
580 | ---
|
581 | * **Browser version**: Added browser version dist
|
582 | * **New Node API option:** `inputFileName` allows to set name of the input file with source code. This name will used internally, for example, for source map generation.
|
583 | * [#274](https://github.com/javascript-obfuscator/javascript-obfuscator/pull/274)`domainLock` now will work in SVG.
|
584 | <br/>
|
585 | Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/273
|
586 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/271
|
587 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/264
|
588 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/260
|
589 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/252
|
590 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/247
|
591 |
|
592 | v0.16.0
|
593 | ---
|
594 | * Correct obfuscation of object rest and spread properties
|
595 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/243
|
596 |
|
597 | v0.15.0
|
598 | ---
|
599 | * **Internal change:** switched AST parser from `esprima` on `espree`
|
600 | * **Breaking change:** dropped `node@4` and `node@5` support.
|
601 | * **Breaking change:** renamed `extension` value of `target` option on `browser-no-eval`.
|
602 | * **Breaking change:** disabled generation of identifiers, which being matched by `reservedName` option. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/216
|
603 | * **New CLI option:** `exclude` allows to exclude specific files or directories from obfuscation.
|
604 | * Correct obfuscation of `import` and `export` declarations.
|
605 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/231
|
606 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/217
|
607 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/210
|
608 | * Internal: refactoring of many things.
|
609 |
|
610 | v0.14.3
|
611 | ---
|
612 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/195
|
613 | * Added code preview to `esprima` error messages.
|
614 |
|
615 | v0.14.2
|
616 | ---
|
617 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/181
|
618 |
|
619 | v0.14.1
|
620 | ---
|
621 | * Temporary fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/181
|
622 |
|
623 | v0.14.0
|
624 | ---
|
625 | * **New option:** `identifiersPrefix` sets prefix for all global identifiers.
|
626 | * **New option:** `transformObjectKeys` enables object keys transformation and obfuscation.
|
627 | * **New feature:** `eval` expressions obfuscation.
|
628 | * **Breaking change:** Now CLI obfuscating directory recursively. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/157
|
629 | * Fixed runtime errors when `deadCodeInjection` is enabled and `identifierNamesGenerator` is set to `mangled`.
|
630 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/171
|
631 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/166
|
632 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/156
|
633 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/159
|
634 |
|
635 | v0.13.0
|
636 | ---
|
637 | * **Breaking change:** `mangle` option was removed.
|
638 | * **New option:** `identifierNamesGenerator` allows to set identifier names generator (`hexadecimal` or `mangled`).
|
639 | * **Breaking change:** all CLI options were renamed to `kebab-case` format (`--disableConsoleOutout` -> `--disable-console-output`).
|
640 | * Implemented custom `mangle` option algorithm without `esmangle`; fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/110
|
641 | * Comments with `@license` and `@preserve` words won't be removed from obfuscated code.
|
642 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/147
|
643 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/149
|
644 |
|
645 | v0.12.5
|
646 | ---
|
647 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/139
|
648 |
|
649 | v0.12.4
|
650 | ---
|
651 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/136
|
652 |
|
653 | v0.12.3
|
654 | ---
|
655 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/129
|
656 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/125 (dead code injection and await expression)
|
657 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/123
|
658 |
|
659 | v0.12.2
|
660 | ---
|
661 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/121
|
662 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/119
|
663 |
|
664 | v0.12.1
|
665 | ---
|
666 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/117
|
667 |
|
668 | v0.12.0
|
669 | ---
|
670 | * **New option:** `target` allows to set target environment for obfuscated code.
|
671 | * Added ability to disable and enable obfuscation for specific parts of the code by adding conditional comments.
|
672 | * Added obfuscation of `es2015` class names.
|
673 | * CLI: added directory obfuscation.
|
674 |
|
675 | v0.11.2
|
676 | ---
|
677 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/98
|
678 |
|
679 | v0.11.1
|
680 | ---
|
681 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/94
|
682 |
|
683 | v0.11.0
|
684 | ---
|
685 | * **New option:** `log` enables logging of the information to the console.
|
686 | * **New option:** `renameGlobals` allows to enable obfuscation of global variable and function names with declaration.
|
687 |
|
688 | v0.10.2
|
689 | ---
|
690 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/78
|
691 |
|
692 | v0.10.1
|
693 | ---
|
694 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/76
|
695 |
|
696 | v0.10.0
|
697 | ---
|
698 | * **New option:** `deadCodeInjection`. With this option random blocks of dead code will add to the obfuscated code.
|
699 | * **New option:** `deadCodeInjectionThreshold` allows to set percentage of nodes that will affected by `deadCodeInjection`.
|
700 | * **New option:** `mangle` enables mangling of variable names.
|
701 | * **New CLI option:** `--config` allows to set config file with obfuscator options.
|
702 | * **Breaking change:** `disableConsoleOutput` option now disabled by default.
|
703 | * **Breaking change:** `escapeUnicodeSequence` option now disabled by default.
|
704 | * `controlFlowFlattening` now affects string literal nodes.
|
705 | * Increased runtime performance with `rc4` `stringArrayEncoding`.
|
706 | * Added support for async functions
|
707 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/71
|
708 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/65
|
709 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/60
|
710 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/59
|
711 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/54
|
712 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/57
|
713 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/58
|
714 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/58
|
715 |
|
716 | v0.9.3
|
717 | ---
|
718 | * Switched from `escodegen` to `escodegen-wallaby`, fixed https://github.com/javascript-obfuscator/javascript-obfuscator/pull/50
|
719 |
|
720 | v0.9.2
|
721 | ---
|
722 | * Removed coverage dir from npm package
|
723 |
|
724 | v0.9.1
|
725 | ---
|
726 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/37
|
727 |
|
728 | v0.9.0
|
729 | ---
|
730 | * **Breaking change:** dropped `node@0.10` and `node@0.12` support.
|
731 | * **New option:** `controlFlowFlattening` allows to enable/disable **Control Flow flattening**. Control flow flattening is a structure transformation of the source code that hinders program comprehension.
|
732 | * **New option:** `controlFlowFlatteningThreshold` allows to set percentage of nodes that will affected by `controlFlowFlattening`.
|
733 | * Significantly increased obfuscation performance.
|
734 | * Huge internal refactoring.
|
735 | * Better `es2015` support: correct obfuscation of `TemplateLiteral`, `ArrayPattern`, `AssignmentPattern` nodes.
|
736 | * Switched from `npm` to `yarn` internally.
|
737 | * Various bug fixes.
|
738 |
|
739 | v0.9.0-beta.5
|
740 | ---
|
741 | * Increased performance
|
742 | * Fixed very rare `Cannot read property 'type' of undefined` error, when `RandomGeneratorUtils.getMathRandom()` returned incorrect value `1`.
|
743 |
|
744 | v0.9.0-beta.4
|
745 | ---
|
746 | * Increased performance
|
747 |
|
748 | v0.9.0-beta.3
|
749 | ---
|
750 | * **Breaking change:** dropped `node@0.10` and `node@0.12` support.
|
751 | * Switched from `npm` to `yarn` internally.
|
752 |
|
753 | v0.9.0-beta.2
|
754 | ---
|
755 | * Transformers refactoring
|
756 |
|
757 | v0.9.0-beta.1
|
758 | ---
|
759 | * **New option:** `controlFlowFlattening` allows to enable/disable **Control Flow flattening**. Control flow flattening is a structure transformation of the source code that hinders program comprehension.
|
760 | * **New option:** `controlFlowFlatteningThreshold` allows to set percentage of nodes that will affected by `controlFlowFlattening`.
|
761 | * Better `es2015` support: correct obfuscation of `TemplateLiteral`, `ArrayPattern`, `AssignmentPattern` nodes.
|
762 | * Obfuscation performance boost.
|
763 | * Huge internal refactoring.
|
764 | * Various bug fixes.
|
765 |
|
766 | v0.8.6
|
767 | ---
|
768 | * Additional fixes for https://github.com/javascript-obfuscator/javascript-obfuscator/issues/29
|
769 |
|
770 | v0.8.5
|
771 | ---
|
772 | * Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/29
|
773 |
|
774 | v0.8.4
|
775 | ---
|
776 | * Fixed https://github.com/javascript-obfuscator/webpack-obfuscator/issues/13
|
777 |
|
778 | v0.8.3
|
779 | ---
|
780 | * `selfDefending` option now disabled by default.
|
781 |
|
782 | v0.8.2
|
783 | ---
|
784 | * New option `seed` sets seed for random generator. This is useful for creating repeatable results.
|
785 | * IE8 runtime error fix.
|
786 |
|
787 | v0.8.1
|
788 | ---
|
789 | * `disableConsoleOutput` option now replaces `console.xxx` functions on empty function instead of infinity loop.
|
790 |
|
791 | v0.8.0
|
792 | ---
|
793 | * **Breaking options change:** `unicodeArray` option has been renamed to `stringArray`.
|
794 | * **Breaking options change:** `unicodeArrayThreshold` option has been renamed to `stringArrayThreshold`.
|
795 | * **Breaking options change:** `encodeUnicodeArray` option has been renamed to `stringArrayEncoding` and now accepts following values: `true|false|'base64'|'rc4'`.
|
796 | * **Breaking change:** option `wrapUnicodeArrayCalls` was removed and now all calls to `stringArray` are always wrapped by special wrapper function.
|
797 | * New option `unicodeEscapeSequence` allows to enable/disable strings conversion to unicode escape sequence.
|
798 | * New option `domainLock` locks the obfuscated source code so it only runs on specific domains and/or sub-domains.
|
799 | * New option `sourceMapBaseUrl` sets base url to the source map import url when `sourceMapMode: 'separate'`.
|
800 | * Custom nodes like `selfDefendingNode` or `consoleOutputNode` now inserted into deepest stack trace function call.
|
801 | * Fixed obfuscation of global variables and function names in some cases.
|
802 | * Fixed wrong obfuscation of labels.
|
803 | * Rewrite of many custom nodes.
|
804 |
|
805 | v0.7.3
|
806 | ---
|
807 | * CLI missing polyfill fix [#17](https://github.com/sanex3339/javascript-obfuscator/issues/17)
|
808 |
|
809 | v0.7.2
|
810 | ---
|
811 | * Runtime error fix [#7](https://github.com/sanex3339/webpack-obfuscator/issues/7)
|
812 |
|
813 | * Shorthand object expression fix [#16](https://github.com/sanex3339/javascript-obfuscator/issues/16)
|
814 |
|
815 | v0.7.1
|
816 | ---
|
817 | * IE error fix [#14](https://github.com/sanex3339/javascript-obfuscator/issues/14)
|
818 |
|
819 | v0.7.0-dev.3
|
820 | ---
|
821 | * Obfuscator now returns an empty string instead of obfuscated code if source code is empty
|
822 |
|
823 | v0.7.0-dev.2
|
824 | ---
|
825 | * Fix of incorrect `Utils.decToHex` method
|
826 |
|
827 | v0.7.0-dev.1
|
828 | ---
|
829 | * **Breaking API change:** now `obfuscate(sourceCode, options)` returns `ObfuscationResult` object instead `string`. `ObfuscationResult` object contains two public methods: `getObfuscatedCode()` and `getSourceMap()`.
|
830 | * CLI. Now any code can be obfuscated through CLI `javascript-obfuscator` command. See `README.md` for available options.
|
831 | * New option `sourceMap` enables source map generation for obfuscated code.
|
832 | * New option `sourceMapMode` specifies source map generation mode. |
\ | No newline at end of file |