UNPKG

33.1 kBMarkdownView Raw
1Change Log
2
3v2.15.4
4---
5* Improved `stringArray` calls wrapper code
6
7v2.15.3
8---
9* Slightly improved integration between `deadCodeInjection` and `stringArrayWrappersChainedCalls` options
10
11v2.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
15v2.15.1
16---
17* **Hotfix**: `domainDest` => `domainLockRedirectUrl` option rename
18
19v2.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
24v2.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
29v2.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
34v2.12.0
35---
36* `stringArray` calls wrappers now inserted as `FunctionDeclaration` nodes at random indexes
37
38v2.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
42v2.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
47v2.10.7
48---
49* Fixed CVE-2019-18413. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/880
50
51v2.10.6
52---
53* Added support of `top-level await`. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/884
54
55v2.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
59v2.10.4
60---
61* Fixed invalid behaviour of `numbersToExpressions` option for float numbers. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/882
62
63v2.10.3
64---
65* Fixed `simplify` option regression after `2.10.2`. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/864
66
67v2.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
71v2.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
75v2.10.0
76---
77* Improved `rotateStringArray` option
78
79v2.9.6
80---
81* Preventing move of `"use strict";` directive during obfuscation
82
83v2.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
88v2.9.4
89---
90* Fixed missing prefix of root identifiers added by `stringArrayWrappersCount` option when `identifiersPrefix` option is set
91
92v2.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
96v2.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
100v2.9.1
101---
102* Fixed wrong `stringArrayWrappersParametersMaxCount` CLI option name
103
104v2.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
112v2.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
116v2.8.0
117---
118* New option `ignoreRequireImports` prevents obfuscation of `require` imports. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/801
119
120v2.7.1
121---
122* Updated `@javascript-obfuscator/escodegen` to `2.1.1`
123
124v2.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
130v2.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
134v2.6.3
135---
136* Added `ExportSpecifierTransformer`. Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/791
137
138v2.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
143v2.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
147v2.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
153v2.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
160v2.4.3
161---
162* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/769
163
164v2.4.2
165---
166* Fixed `URI-malformed` when `splitStrings` and `stringArrayEncoding` options are enabled. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/530
167
168v2.4.1
169---
170* Small release with some README.md improvements that allow to use it on [obfuscator.io](https://obfuscator.io)
171
172v2.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
176v2.3.1
177---
178* Fixed a rare bug with `identifierNamesGenerator: 'mangled'` option that causes wrong identifier names generation
179
180v2.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
185v2.2.1
186---
187* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/745
188
189v2.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
194v2.1.0
195---
196* **New API:** `getOptionsByPreset` allows to get options for the passed options preset name
197
198v2.0.0
199---
200* **Breaking change:** `stringArrayEncoding` option now accepts an array of encodings. Each string will be randomly encoded with passed encoding
201
202v1.12.1
203---
204* Fixed regression bug with combination of `splitStrings` and `renameProperties` option. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/729
205
206v1.12.0
207---
208* **New option:** `optionsPreset` allows to set options preset
209
210v1.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
215v1.10.2
216---
217* Fixed obfuscation of literals of `ExportNamedDeclaration` and `ExportAllDeclaration` nodes
218
219v1.10.1
220---
221* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/707
222
223v1.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
229v1.9.0
230---
231* Improved obfuscation of destructured variables. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/688
232
233v1.8.1
234---
235* Fixed runtime error `Uncaught SyntaxError: yield is a reserved identifier` when `deadCodeInjection` is enabled
236
237v1.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
241v1.7.0
242---
243* `simplify` option now affects all block statements. Improved variable declarations merging.
244
245v1.6.0
246---
247* **New option:** `numbersToExpressions` enables numbers conversion to expressions
248
249v1.5.2
250---
251* Prevented mutation of the name sequences of `mangled` identifier name generators
252
253v1.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
258v1.5.0
259---
260* New `mangled-shuffled` identifier names generator based on `mangled` identifier names generator
261
262v1.4.0
263---
264* **New option:** `simplify` enables additional code obfuscation through simplification
265
266v1.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
272v1.2.2
273---
274* Fixed performance regression of `Initializing` stage after `1.2.0`
275
276v1.2.1
277---
278* Support of old browsers when `selfDefending` is enabled. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/615
279
280v1.2.0
281---
282* Conditional comments will be removed from the code after obfuscation. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/641
283
284v1.1.1
285---
286* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/638
287
288v1.1.0
289---
290* **New option:** `renameProperties` enables renaming of property names
291
292v1.0.1
293---
294* Fixed .d.ts typings. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/623
295
296v1.0.0
297---
298* Looks like obfuscator is ready for the first stable release
299
300v0.28.5
301---
302* Fixed error during code generation for `ObjectPattern` with single `RestElement`. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/607
303
304v0.28.4
305---
306* Added correct `self-defending` code for `target: 'browser-no-eval'`. https://github.com/javascript-obfuscator/javascript-obfuscator/issues/610
307
308v0.28.3
309---
310* Removed memory leak with `identifierNamesGenerator: 'mangled'`
311
312v0.28.2
313---
314* Fixed change of kinds of variables for dead code with `deadCodeInjection` option
315
316v0.28.1
317---
318* Removed `acorn-import-meta` package
319
320v0.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
325v0.27.4
326---
327* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/590
328
329v0.27.3
330---
331* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/593
332
333v0.27.2
334---
335* Fixed identifiers prefix generation for `obfuscateMultiple` method
336
337v0.27.1
338---
339* Dependencies update, fixed https://www.npmjs.com/advisories/1488
340
341v0.27.0
342---
343* **Feature:** new method `obfuscateMultiple` to obfuscation of multiple source codes
344
345v0.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
350v0.25.5
351---
352* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/575
353
354v0.25.4
355---
356* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/569
357
358v0.25.3
359---
360* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/568
361
362v0.25.2
363---
364* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/563
365
366v0.25.1
367---
368* Additional fixes of https://github.com/javascript-obfuscator/javascript-obfuscator/issues/550
369
370v0.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
379v0.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
384v0.24.5
385---
386* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/542
387
388v0.24.4
389---
390* Fixed rc4 encoded value collision: https://github.com/javascript-obfuscator/javascript-obfuscator/issues/538
391
392v0.24.3
393---
394* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/535
395
396v0.24.2
397---
398* Reverted validation errors under `node` target for `sourceMap*` options
399
400v0.24.1
401---
402* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/531
403
404v0.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
418v0.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
423v0.23.1
424---
425* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/498
426
427v0.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
434v0.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
438v0.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
443v0.21.1
444---
445* Fixed conditional comments in some rare cases
446
447
448v0.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
456v0.20.4
457---
458* Fixed typings. Now string values correctly assignable to enum-like options
459
460v0.20.3
461---
462* Fixed `for-await-of` statement: https://github.com/javascript-obfuscator/javascript-obfuscator/issues/419
463
464v0.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
471v0.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
477v0.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
483Thanks to our contributors!
484 * [adiantek](https://github.com/adiantek)
485
486v0.19.4
487---
488* Fixed `reservedNames` option
489
490Thanks to our contributors!
491 * [kida7](https://github.com/kida7)
492
493v0.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
498v0.19.2
499---
500* The `splitStrings` option now correctly splits strings inside objects
501
502v0.19.1
503---
504* The `splitStrings` option now affects template literal strings
505
506v0.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
511v0.18.8
512---
513* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/452
514
515v0.18.7
516---
517* Fixed https://github.com/javascript-obfuscator/gulp-javascript-obfuscator/issues/22
518
519v0.18.6
520---
521* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/355
522
523Thanks to our contributors!
524 * [Zamotkin](https://github.com/zamotkin)
525
526v0.18.5
527---
528* Breaking: require Node.js 8 after dependencies update
529* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/321
530
531Thanks to our contributors!
532 * [Zamotkin](https://github.com/zamotkin)
533
534v0.18.4
535---
536* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/437
537
538Thanks to our contributors!
539 * [Zamotkin](https://github.com/zamotkin)
540
541v0.18.3
542---
543* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/424
544
545Thanks to our contributors!
546 * [Zamotkin](https://github.com/zamotkin)
547
548v0.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
553v0.18.1
554---
555* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/317
556
557v0.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
564v0.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
569v0.17.2
570---
571* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/297
572
573v0.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
579v0.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
592v0.16.0
593---
594* Correct obfuscation of object rest and spread properties
595* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/243
596
597v0.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
610v0.14.3
611---
612* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/195
613* Added code preview to `esprima` error messages.
614
615v0.14.2
616---
617* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/181
618
619v0.14.1
620---
621* Temporary fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/181
622
623v0.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
635v0.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
645v0.12.5
646---
647* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/139
648
649v0.12.4
650---
651* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/136
652
653v0.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
659v0.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
664v0.12.1
665---
666* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/117
667
668v0.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
675v0.11.2
676---
677* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/98
678
679v0.11.1
680---
681* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/94
682
683v0.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
688v0.10.2
689---
690* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/78
691
692v0.10.1
693---
694* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/76
695
696v0.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
716v0.9.3
717---
718* Switched from `escodegen` to `escodegen-wallaby`, fixed https://github.com/javascript-obfuscator/javascript-obfuscator/pull/50
719
720v0.9.2
721---
722* Removed coverage dir from npm package
723
724v0.9.1
725---
726* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/37
727
728v0.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
739v0.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
744v0.9.0-beta.4
745---
746* Increased performance
747
748v0.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
753v0.9.0-beta.2
754---
755* Transformers refactoring
756
757v0.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
766v0.8.6
767---
768* Additional fixes for https://github.com/javascript-obfuscator/javascript-obfuscator/issues/29
769
770v0.8.5
771---
772* Fixed https://github.com/javascript-obfuscator/javascript-obfuscator/issues/29
773
774v0.8.4
775---
776* Fixed https://github.com/javascript-obfuscator/webpack-obfuscator/issues/13
777
778v0.8.3
779---
780* `selfDefending` option now disabled by default.
781
782v0.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
787v0.8.1
788---
789* `disableConsoleOutput` option now replaces `console.xxx` functions on empty function instead of infinity loop.
790
791v0.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
805v0.7.3
806---
807* CLI missing polyfill fix [#17](https://github.com/sanex3339/javascript-obfuscator/issues/17)
808
809v0.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
815v0.7.1
816---
817* IE error fix [#14](https://github.com/sanex3339/javascript-obfuscator/issues/14)
818
819v0.7.0-dev.3
820---
821* Obfuscator now returns an empty string instead of obfuscated code if source code is empty
822
823v0.7.0-dev.2
824---
825* Fix of incorrect `Utils.decToHex` method
826
827v0.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