-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcom.jpexs.decompiler.flash.metainfo.xml
More file actions
1366 lines (1366 loc) · 73 KB
/
com.jpexs.decompiler.flash.metainfo.xml
File metadata and controls
1366 lines (1366 loc) · 73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>com.jpexs.decompiler.flash</id>
<name>JPEXS Free Flash Decompiler</name>
<developer_name>Jindra Petřík and contributors</developer_name>
<summary>Decompile and edit SWF files</summary>
<launchable type="desktop-id">com.jpexs.decompiler.flash.desktop</launchable>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0-or-later</project_license>
<url type="homepage">https://github.com/jindrapetrik/jpexs-decompiler</url>
<url type="bugtracker">https://www.free-decompiler.com/flash/issues</url>
<description>
<p>Open Source Flash SWF decompiler and editor. Extract resources, convert SWF to FLA, edit ActionScript, replace images, sounds, texts or fonts. Various output formats available. Works with Java on Linux, Windows and macOS.</p>
</description>
<screenshots>
<screenshot type="default">
<caption>ActionScript 2 decompilation and its P-code view</caption>
<image width="1423" height="843">https://raw.githubusercontent.com/jindrapetrik/jpexs-decompiler/master/graphics/screenshots/version14.4.0/01_as2.png</image>
</screenshot>
<screenshot>
<caption>ActionScript 3 decompilation and its P-code view</caption>
<image width="1423" height="843">https://raw.githubusercontent.com/jindrapetrik/jpexs-decompiler/master/graphics/screenshots/version14.4.0/02_as3.png</image>
</screenshot>
<screenshot>
<caption>Viewing a shape using internal viewer without Flash Player</caption>
<image width="1217" height="876">https://raw.githubusercontent.com/jindrapetrik/jpexs-decompiler/master/graphics/screenshots/version14.4.0/03_shape.png</image>
</screenshot>
<screenshot>
<caption>Viewing a code flow graph using GraphViz tool</caption>
<image width="1676" height="950">https://raw.githubusercontent.com/jindrapetrik/jpexs-decompiler/master/graphics/screenshots/version14.4.0/04_graph.png</image>
</screenshot>
<screenshot>
<caption>Hexadecimal view of the SWF structure</caption>
<image width="1345" height="950">https://raw.githubusercontent.com/jindrapetrik/jpexs-decompiler/master/graphics/screenshots/version14.4.0/05_hexview.png</image>
</screenshot>
<screenshot>
<caption>Program allows many export types</caption>
<image width="1523" height="927">https://raw.githubusercontent.com/jindrapetrik/jpexs-decompiler/master/graphics/screenshots/version14.4.0/06_export.png</image>
</screenshot>
<screenshot>
<caption>Searching text in ActionScript</caption>
<image width="1521" height="931">https://raw.githubusercontent.com/jindrapetrik/jpexs-decompiler/master/graphics/screenshots/version14.4.0/07_search.png</image>
</screenshot>
<screenshot>
<caption>Text fields editation, search and replace text</caption>
<image width="1521" height="932">https://raw.githubusercontent.com/jindrapetrik/jpexs-decompiler/master/graphics/screenshots/version14.4.0/08_text.png</image>
</screenshot>
<screenshot>
<caption>Timeline viewer</caption>
<image width="1318" height="950">https://raw.githubusercontent.com/jindrapetrik/jpexs-decompiler/master/graphics/screenshots/version14.4.0/09_timeline.png</image>
</screenshot>
<screenshot>
<caption>Adding new AS1/2 script to the SWF file</caption>
<image width="1526" height="932">https://raw.githubusercontent.com/jindrapetrik/jpexs-decompiler/master/graphics/screenshots/version14.4.0/10_add_script.png</image>
</screenshot>
<screenshot>
<caption>Debugging ActionScript 3 source code</caption>
<image width="1311" height="950">https://raw.githubusercontent.com/jindrapetrik/jpexs-decompiler/master/graphics/screenshots/version14.4.0/11_debug_as3.png</image>
</screenshot>
<screenshot>
<caption>Debugging P-code</caption>
<image width="1527" height="935">https://raw.githubusercontent.com/jindrapetrik/jpexs-decompiler/master/graphics/screenshots/version14.4.0/12_debug_pcode.png</image>
</screenshot>
</screenshots>
<releases>
<release version="20.1.0" date="2023-12-30">
<description>
<p>Added</p>
<ul>
<li>Configurable tab size (formatting must be set to use tabs) - default matches indent size of 3</li>
<li>#2100 Copy/paste frames (same SWF only)</li>
<li>Updated portugese-brasil translation</li>
<li>AS3 Debugging - export/import ByteArray variable data</li>
<li>#2123 FLA export - show some progress info</li>
<li>Label that flex compiler is used (when it's enabled in settings)</li>
<li>#2119 Option to export assets with names like their assigned classes via SymbolClass, without character id</li>
<li>#2119 Bulk imported assets can also match filenames based on assigned classname, not just character id prefix</li>
<li>Debugger shows (logs) unhandled exceptions</li>
<li>#2129 MEMORY and STACK_SIZE parameters now can be set via external variables FFDEC_MEMORY, FFDEC_STACK_SIZE</li>
<li>Saving Harman encrypted SWFs</li>
<li>Editing encrypted flag on header panel</li>
<li>`-encrypt` command on CLI for Harman encryption</li>
<li>Apply unpacker menu on binary data</li>
<li>Harman unpacker for binary data</li>
<li>Multilevel binary data unpacking is possible</li>
<li>#2131 AS1/2 Debugger - show _root variable</li>
<li>#2124 Copy tags to other SWFs and replace same classes / export names</li>
<li>Remembering breakpoints</li>
<li>#2131 Breakpoint list dialog</li>
<li>ExportAssets tag - show first item as description in the tree when there is only single item</li>
<li>#2134 FLA Export - split main timeline into scenes when DefineSceneAndFrameLabelData tag is present</li>
<li>#2132 Show and export streamed sound (SoundStreamHead/SoundStreamBlock) in frame ranges (+ take scenes into account)</li>
<li>FLA export - show export time</li>
<li>#2138 Morphshapes - detect classic easing</li>
<li>FLA export - option to disable fixing of shapes</li>
<li>Scenes folder with (readonly) display of scene frames</li>
</ul>
<p>Fixed</p>
<ul>
<li>#2021, #2000 Caret position in editors when using tabs and / or unicode</li>
<li>#2021 Indent continuation when using tabs</li>
<li>#2116 DefineEditText display - correct getting fonts</li>
<li>#2116 DefineEditText display - apostroph decoding</li>
<li>#2116 Apply colortransform after filters</li>
<li>#2116 Limit maximum number of box blur pixels</li>
<li>#2122 `-header` command did not support negative integers for displayrect</li>
<li>AS3 direct editation - namespaces were initialized in class initializers</li>
<li>Debugging - do not invoke getter when there is none - avoid freezing</li>
<li>Debugging - properly getting variable value through getter</li>
<li>#2123 FLA export - IndexOutOfBounds in shape fixer</li>
<li>#2123 FLA export - morphshapes fixer</li>
<li>#2111 AS3 direct editation - access class in class initializer</li>
<li>#2111 Flex AS3 editation - use SWF dependencies defined in GUI</li>
<li>SWF dependencies label was not updated on startup</li>
<li>#2127 Wrong parameter order in AS1/2 P-code Action GetURL2 documentation</li>
<li>#2025, #2078, #2053 Problems starting the app on Windows when the username has unicode characters</li>
<li>Incorrect debugger line numbers when "Open loaded while playing" is enabled</li>
<li>AS3 debugger - Slow injecting debug info - now faster</li>
<li>AS3 debugger - obfuscated classes debugging</li>
<li>Delayed open loaded SWFs while playing</li>
<li>AS3 Direct editation - script initializer for main document class</li>
<li>AS3 Debugging - activation object was not visible in locals</li>
<li>Linenumbers are visible even if debug markers are used</li>
<li>Marker of stack frames not properly cleared</li>
<li>Retain AS3 script selection in the tree after its editation and saving whole SWF</li>
<li>#2131 AS1/2 Debugger - Breakpoint handling - incorrect script names</li>
<li>#2131 Debugger - Correct walking variables tree</li>
<li>#2131 Debugger - Breakpoints can be added while SWF is running (not just on pause)</li>
<li>AS3 Direct editation - types on instance variable values not properly resolved</li>
<li>AS1/2 Debugger - script was cleared on stop button</li>
<li>AS1/2 Vanishing source code in some cases</li>
<li>AS1/2 Debugger tooltips exception</li>
<li>#2131 UseOutline flag for DefineEditText</li>
<li>Wordrapping long words in DefineEditText</li>
<li>#2133 Linux/Mac - ffdec.sh not correctly parsing java build number on javas without it</li>
<li>#2135 FLA Export - framescripts handling when addFrameScript uses Multinames instead of QNames</li>
<li>#1194 FLA Export - stream sound export</li>
<li>#2136 FLA Export - optimized Shape fixer speed, repeated shape on timeline not exported twice</li>
<li>#2139 FLA Export - labels layer not counted as layer index causing masked layer parentindex wrong</li>
<li>#2138 Nested clipping (masks) display</li>
<li>#2138, #2156 FLA Export - Missing morphshapes (incorrect holes calculation)</li>
<li>#2138 FLA Export - Mask layer was visible when did not contain a masked layer</li>
<li>FLA Export - frame numbering problem</li>
<li>#2145 FLA Export - missing frames, cliping layers order, nullpointer, empty sound layers</li>
<li>#2142 XML Export - string values containing only spaces</li>
<li>AS3 - Nullpointer in MethodBody when no ABC set</li>
<li>#2148 AS2 Uninitialized class fields detector</li>
<li>#2148 AS1/2 callmethod by register value</li>
<li>#2148 AS2 Do not return undefined for setters</li>
<li>#2143 FLA Export / Sound playback - taking MP3 initial latency into account</li>
<li>#2153 FLA Export - sound streams were limited to first stream block</li>
<li>#2163 FLA Export - maintain sound export settings for streams</li>
<li>#2162 Debugger - ignore (warn) invalid jumps when injecting debug info</li>
<li>AS3 - extra newlines on methods which use activation</li>
<li>#2162 AS3 switch inside foreach</li>
<li>#2162 AS3 try inside foreach</li>
<li>#2152 FLA Export - wrong nonlibrary shapes detection</li>
<li>#2147 Display of empty video</li>
<li>Saving SWFs opened by "Open loaded while playing" feature</li>
</ul>
<p>Changed</p>
<ul>
<li>#2120 Exported assets no longer take names from assigned classes if there is more than 1 assigned class</li>
<li>#2127 AS1/2 P-code Action GetURL2 switched parameters back - correct order is (loadVariablesFlag, loadTargetFlag, sendVarsMethod), code from 19.1.x to 20.0.0 is still accepted</li>
<li>Wrong unicode escape `{invalid_utf8:xxx}` changed to `{invalid_utf8=xxx}` for compatibility with file names</li>
</ul>
</description>
</release>
<release version="20.0.0" date="2023-11-05">
<description>
<p>Added</p>
<ul>
<li>#1130, #1220 Remembering last used screen (monitor), opening dialogs on same screen as the main window, do not restore window size to larger value that actual screen size</li>
<li>#1717 AS1/2/3 Option to hide P-code panel</li>
<li>#2005 Export files to directories by bundle names on multiple bundle (zips, etc.) selection</li>
<li>ActionScript Debugger - Call stack frames switching - view variables around call stack</li>
<li>ActionScript Debugger - Highlight lines of callstack</li>
<li>#2105 GFX - Basic tag info</li>
<li>Context menu items to create new tags (shape, morphshape, sprite, image, movie, sound, binaryData) from files and using font embed dialog for fonts</li>
<li>Replacing morphshapes (either from previously exported animated SVG or from two shape files)</li>
<li>SVG Export - stroke-bitmapId, fill-bitmapId attribute</li>
<li>Morphshape SVG Export - bitmap fill strokes</li>
<li>SVG Export/Import - retain bitmap fill smoothed attribute</li>
<li>Export Morphshape as start and end shape (SVG, PNG, BMP)</li>
<li>Directory selection dialog in directory configs in advanced settings</li>
<li>Status bar with info about edges on walking shaperecords</li>
<li>#1799 Text tags editor has new parameter `[space xxx]` specifying exact letter advance value (add to the font advance + calculated letterspacing)</li>
<li>DefineEditText display - letterspacing, kerning, indent, relative font size</li>
<li>FLA export - DefineEditText autokern attribute</li>
</ul>
<p>Fixed</p>
<ul>
<li>#1306, #1768 Maximizing window on other than main monitor</li>
<li>AS3 Cast exception when used tree filter and then direct editing</li>
<li>#2013 AS3 Multiname renaming - closing the script when renaming the class, nullpointer exception</li>
<li>GFX - FontTextureInfo tag reading</li>
<li>GFX - Fonts with stripped shapes</li>
<li>#2104 Empty texts import</li>
<li>Centered start playing triangle (Playing on demand)</li>
<li>miterLimitFactor is FIXED8 value in MORPHLINESTYLE2</li>
<li>Display of morphshape end shape to be exactly at 65535 ratio</li>
<li>SVG import - duplicated image on bitmap fill style</li>
<li>Generic tag editor - morphshape fill - show bitmapId for repeating bitmap fill, gradient matrix for focal gradient</li>
<li>Morphshape SVG export - focalPoint animation</li>
<li>Do not display lines with zero width</li>
<li>Not updating Morphshape end bounds</li>
<li>SVG import - linear gradients</li>
<li>SVG import - Do not use fill winding nonzero when only stroking</li>
<li>Morphshape SVG export - closing the stroke</li>
<li>#2031 FLA export - morphshapes with duplicated strokes, timelines with multiple shape tweens</li>
<li>#1866 FLA export - multilevel clipping handling</li>
<li>#1866 FLA export - morphshape rounding fix</li>
<li>#1866 FLA export - multiple usage of morphshapes</li>
<li>#503, #1011, #1257, #1902, #1903, #2048 FLA export - shapes with overlapping edges</li>
<li>#2108 Cannot change text when ShiftJIS flag is set on font</li>
<li>#2074, #2074 Use mxmlc.bat file when exe not available for Flex SDK compilation</li>
<li>FLA export - DefineEditText - allow negative letterspacing</li>
<li>#2112 GFX - new image types in DefineExternalImage</li>
<li>#1193 FLA export - DefineEditText position and size</li>
<li>FLA export - allow float frame rate</li>
<li>FLA export - font export - allow dot as character</li>
<li>AS3 Debugging P-code inside nested functions</li>
<li>AS3 Debugging - show (and click through) proper call stack</li>
</ul>
<p>Changed</p>
<ul>
<li>Basic tag info panel always visible even when nothing to display (to avoid flickering)</li>
<li>SVG export - attributes like data-characterId and data-characterName moved under `ffdec:` namespace</li>
<li>#802 - FLA export - calculating letterspacing on text with fonts without layout is now optional and turned off by default</li>
<li>#2113 Commandline `-importScript` command aborts import on first error, can be changed with `-onerror ignore` argument</li>
</ul>
</description>
</release>
<release version="19.1.2" date="2023-10-16">
<description>
<p>Fixed</p>
<ul>
<li>#2099 Smart number formatting always on</li>
</ul>
</description>
</release>
<release version="19.1.1" date="2023-10-16">
<description>
<p>Fixed</p>
<ul>
<li>Linux/Mac script (ffdec.sh) incorrect quotes avoiding FFDec to start</li>
</ul>
</description>
</release>
<release version="19.1.0" date="2023-10-16">
<description>
<p>Added</p>
<ul>
<li>#2090 Support for Mochicrypt packed binarydata tags - loading SWF as subtree</li>
<li>#2079 Replace DefineSprite with GIF, Bulk import sprites from GIFs, also from commandline</li>
<li>#116 Show invalid utf-8 bytes in Strings as `{invalid_utf8:xxx}`</li>
<li>#2097 Commandline command `-header` to modify SWF header values</li>
<li>SVG Frames export - blend modes</li>
<li>SVG Frames export - filter</li>
<li>SVG Shapes export - non-scaling strokes</li>
<li>SVG Shapes import - non-scaling strokes</li>
<li>Support for DefineShape4 nonzero winding rule - display, svg (import, export), canvas export</li>
<li>Generic tag editor - MORPHLINESTYLE2 has enum selection for cap and join style</li>
<li>Generic tag editor - Default values for filters</li>
<li>AS1/2 P-code actions inline documentation</li>
<li>P-code hilight currently selected instruction argument in the documentation (both AS1/2 and AS3)</li>
<li>#2098 Shape points editation, transform - Protection against saving too large edges/rects</li>
</ul>
<p>Fixed</p>
<ul>
<li>Close action on SWF inside DefineBinaryData</li>
<li>#2093 AS3 Unnecessary use of fully qualified names for classes in same package</li>
<li>#1678 Shapes - Miter clip join style</li>
<li>#2094 AS3 do not show body trait variables as FQN</li>
<li>#2094 AS3 Missing use namespace</li>
<li>#2094 AS3 missing star type on var and const</li>
<li>#2094 AS3 Getting register names from debug info - do not allow assigning `_locX_` name to other register than X</li>
<li>#2094 Embed font name taken from the fontTag, not DefineFontName</li>
<li>AS3 Simplify expressions - Do not convert this to {} when coerced</li>
<li>AS3 incorrect private modifier on internal namespaced traits of private class inside script</li>
<li>#2095 AS3 Changing script when debugging</li>
<li>#223 AS2 Detecting uninitialized class fields</li>
<li>Embed tag not properly escaped on obfuscated files</li>
<li>#116 AS3 Cyclic typenames</li>
<li>#116 AS3 Do not parse DoABC tags inside sprites</li>
<li>#116 Cyclic buttons</li>
<li>AS1/2 new keyword on empty method name</li>
<li>AS2 getters and setters decoding</li>
<li>#116 §§push at the end of switch branches</li>
<li>Convolution matrix filter display and editing</li>
<li>Generic tag editor - Disallow add before/after or remove on parent field with indices</li>
<li>Calculating fillBits, lineBits on SHAPE structure (storing morphshapes, fonts)</li>
<li>Generic tag editor - COLORMATRIXFILTER has fixed number of float values</li>
<li>Filters display - ymin value</li>
<li>Box blur display rounding errors</li>
<li>Generic tag editor - display of color values in arrays (filters, etc.)</li>
<li>Generic tag editor - display of array brackets</li>
<li>Generic tag editor - GRADIENT filters fields</li>
<li>#2099 Smart number formatting precedence</li>
<li>AS3 Direct editation - Cannot save code after switching deobfuscation</li>
</ul>
<p>Changed</p>
<ul>
<li>AS1/2 P-code action parameters are now separated by commas, code without commas is still accepted</li>
<li>AS1/2 P-code Action GetURL2 has switched parameters - sendVarsMethod is first, older code is still accepted</li>
</ul>
</description>
</release>
<release version="19.0.0" date="2023-10-01">
<description>
<p>Added</p>
<ul>
<li>#1449 Updated Turkish translation</li>
<li>#2070 SWF to XML format has new meta fields describing XML export major/minor version (major = uncompatible change)</li>
<li>#2070 forceWriteAsLong Tag internal attribute is now visible and editable (including XML export), allows decide whether to write length in tag header as long</li>
<li>#2073 Editing of frame count in SWF header (with warning that it won't update ShowFrame count)</li>
<li>Show font AS linkage class in its name in the tree (besides font name)</li>
<li>#2057 Show all assigned AS linkage classes in the item name (instead just one)</li>
<li>Exporting ByteArrayRange in the raw editor with the Export button</li>
<li>Export DefineFont4 to OpenType CFF file</li>
<li>AS3 - Show `Embed` tag over asset classes (readonly)</li>
<li>AS3 - Checkbox for exporting assets embedded using `Embed` (-exportembed in commandline)</li>
<li>FLA export - AS3 - Using `Embed` tag for DefineBinaryData, images not extending BitmapData</li>
<li>#2066 AS3 Support for api-versioned SWFs</li>
<li>AS3 compound scripts (scripts containing multiple external definitions like compiled C code, etc.) have special node per script (script_0, script_1, ...) which contains included classes and script initializer</li>
<li>Show "Renaming identifiers" status on file opening with auto rename identifiers on</li>
<li>#2010 word wrapping in the translation tool</li>
<li>ABC Explorer tool</li>
<li>FLA export - remember last selected FLA version/compression</li>
<li>AS3 Natural sorting of packages and script</li>
</ul>
<p>Fixed</p>
<ul>
<li>#2043 StartSound2 tag handling</li>
<li>PR176 - slow loading of allowed charsets - now lazy loaded</li>
<li>PR178 - infinite recursion when getter/setter calls same property of superclass</li>
<li>#2070 Handling newlines and tabs in string values inside SWF to XML export</li>
<li>#2017, PR179 Classes in same package displayed as fully qualified</li>
<li>PR177 AS3 direct editation - Vector literal</li>
<li>#2052, #2058 Adding new script placing class to incorrect DoABC tag</li>
<li>#2072 AS3 direct editation - incorrectly using trait names of top level classes</li>
<li>#2029 Simplify expressions stripping getlex and also ignoring some types of expressions</li>
<li>#2052 Detection of switches based on notequal operator</li>
<li>#2073 Recalculating frameCount field in SWF header and DefineSprite after deleting frame</li>
<li>Handling currently selected tags when using folder preview selection (Not working Replace button, etc.)</li>
<li>FLA export - Sprites which do not end with ShowFrame tag</li>
<li>PR109 FLA export - large font size of DefineEditText</li>
<li>PR110 FLA export - image instances</li>
<li>FLA export - missing AS linkage class for fonts</li>
<li>#2077 Switch detection problems producing §§goto</li>
<li>#2077 AS3 recursion of deleting method with newfunction instruction</li>
<li>#2077 AS3 direct editation - incorrect slot names</li>
<li>#2077 AS3 direct editation - switch statement missing offset</li>
<li>#2077 AS3 allow star string as property name (XML access)</li>
<li>#2077 AS3 try..catch parts outside block</li>
<li>AS3 try..catch inside loop unneccessary continue</li>
<li>#2077 AS3 colliding types in current package with trait names</li>
<li>NullPointer on reload / uncache</li>
<li>#2076 Auto rename identifiers infinite loop caused by renaming in playerglobal library</li>
<li>Not working "Show in Projector" button for DefineFont4 (hide)</li>
<li>Proper error message when there is no room for new characters in the font (DefineFont1)</li>
<li>Synchronization problems when adding characters to the font vs its display</li>
<li>#2086 AS3 direct editation - Correct class order (instanceinfo,classinfo) respecting extends/implements</li>
<li>#2086 AS3 direct editation - not deleting old nested methods when they have multiple usages</li>
<li>#2009 Missing images in MacOs icon</li>
<li>AS3 Initialization of var in script initializer</li>
<li>AS3 Nullpointer on getting multiname which is out of bounds</li>
<li>Exceptions on cancelling file loading</li>
<li>Switching between openables on session load and on view type change</li>
<li>Float/Float4 ABC format support</li>
<li>AS3 Hilighting (go to) scripts when script has obfuscated name</li>
</ul>
<p>Changed</p>
<ul>
<li>#2070 String values inside SWF to XML export are backslash escaped to properly handle newlines and tabs. Older versions of FFDec can read this new format wrong and corrupt SWFs. Major version of SWF to XML export changed to 2.</li>
<li>AS3 Compound scripts (scripts containing multiple external definitions like compiled C code, etc.) cannot be directly edited or imported (due to problems with script initializers)</li>
<li>#2022 - AS3 - Make script initializer always visible and available instead of config</li>
<li>#1355 Import panel moved to separate tab</li>
</ul>
<p>Removed</p>
<ul>
<li>Removed AS3 Constants list (tab on navigator) in favor of new ABC Explorer</li>
</ul>
</description>
</release>
<release version="18.5.0" date="2023-06-25">
<description>
<p>Added</p>
<ul>
<li>#1998 Setting for maximum number of items in the cache - allows less memory consumption (Defaults to 500 per cache)</li>
<li>#2038, #2028, #2034, #2036 Support for Harman AIR encrypted SWFs (Read-only)</li>
<li>Decrypt Harman AIR SWFs via commandline</li>
</ul>
<p>Fixed</p>
<ul>
<li>#2004 Freezing when a shape has nonimage character set as fill</li>
<li>#2004 Nonrepeating fill border</li>
<li>#2008 AS3 P-code editing optional Double value when it has no fractional part</li>
<li>AS3 P-code editation - zero line number on error</li>
<li>#2007 AS3 renaming invalid identifiers - not refreshing AbcIndex afterwards</li>
<li>AS1/2 - loadMovie / loadVariables / loadMovieNum / loadVariablesNum editation incorrectly setting GET as method</li>
</ul>
</description>
</release>
<release version="18.4.1" date="2023-04-05">
<description>
<p>Fixed</p>
<ul>
<li>#1993 Incorrect scroll position causing shapes to be hidden</li>
<li>#1994 Replace command in commandline with three argument causing replacements file load</li>
<li>#1477 Open file (Context menu) with unicode characters, unicode in paths, on Windows</li>
<li>Starting app with parameters causing wrong GUI init</li>
<li>#1991 ConcurrentModificationException on clearing cache thread</li>
<li>#1999 AS3 decompilation - XML constructor call with other than string argument</li>
</ul>
<p>Changed</p>
<ul>
<li>#1996 Items are now exported in order of appearance in the tag tree (usually SWF order), previously was it in order of selection</li>
</ul>
</description>
</release>
<release version="18.4.0" date="2023-03-19">
<description>
<p>Added</p>
<ul>
<li>AS3 support for logical AND/OR compound operator</li>
<li>AS3 Display missing namespaces along traits as §§namespace("url")</li>
<li>#1888, #1892 AS3 option to select SWF dependencies to properly resolve namespaces, types, etc. (currently in GUI only)</li>
<li>FileAttributes tag - SWF relative Urls flag</li>
<li>AS3 P-code editing class trait</li>
<li>#355 Updated Chinese translation</li>
<li>FLA Export - AS2 - Sprite linkage to class</li>
<li>#1682 AS1/2 Context menu add script on frames/buttons/placeObjects</li>
<li>Allow adding second DoAction to a frame</li>
</ul>
<p>Fixed</p>
<ul>
<li>#1981 AS3 fully qualified (colliding) types in submethods</li>
<li>AS3 direct editation - Allow member or call for doubles</li>
<li>AS3 direct editation - Allow comma operator in XML filter operation</li>
<li>AS3 direct editation - Allow comma operator in switch expressions</li>
<li>AS3 XML embedded variables display and direct edit</li>
<li>AS3 Metadata values order</li>
<li>AS3 Metadata in P-code formatting</li>
<li>AS3 Metadata single value (null item key)</li>
<li>#1981 AS3 star import collisions</li>
<li>#1982 Slow calculation of large shape outlines - now use only rectangles for large shapes</li>
<li>#1986 AS2 Class detection - NullPointerException on certain classes</li>
<li>AS3 P-code ValueKind namespaces handling</li>
<li>AS3 direct editation - namespace definition without explicit value</li>
<li>AS3 direct editation - var/const outside package</li>
<li>AS3 interfaces - internal modifier on methods</li>
<li>AS3 direct editation - interface method namespace</li>
<li>AS3 p-code docs - deldescendants, negate_p operands</li>
<li>AS3 p-code - IGNORE_REST method flag incorrectly shown as EXPLICIT</li>
<li>#1989 AS3 - Slow deobfuscation (AVM2DeobfuscatorSimpleOld)</li>
<li>AS3 - getouterscope instruction support</li>
<li>#1990 Cloning DefineSprite causing incorrect tags written</li>
<li>Do not display fonts added to stage (for example in testdata/as2.swf, the vertical text - sprite 10)</li>
<li>AS2 Class detection - TemporaryRegisterMark handling</li>
<li>FLA export scripts location</li>
<li>FLA export shape tweens (morphshapes)</li>
<li>AS1/2 adding CLIPACTIONRECORD to PlaceObject which already has a record</li>
</ul>
<p>Changed</p>
<ul>
<li>AS1/2/3 P-code - format Number values with EcmaScript toString function</li>
<li>AS3 p-code - EXPLICIT method flag renamed to NATIVE</li>
</ul>
</description>
</release>
<release version="18.3.6" date="2023-02-25">
<description>
<p>Fixed</p>
<ul>
<li>#1970 FLA export - do not strip empty frames at the end of timeline</li>
<li>#1970 AS2 Renaming invalid identifiers for direct strings (no constant indices)</li>
<li>#1970 AS2 Renaming invalid identifiers IndexOutOfBounds on invalid constant index (obfuscated code, etc.)</li>
<li>#1972 AS3 Renaming invalid identifiers - '#' character</li>
<li>#1972 AS3 Renaming invalid identifiers - various fixes</li>
<li>#1972 AS3 imports taken only from packages, not package internal</li>
<li>Unresponsive status bar and its icon</li>
<li>#1973 FLA export - improper calculation of shape instance count</li>
<li>FLA export - XML formatting with blank lines on Java9+</li>
<li>#1974 DefineBits image reading problem</li>
<li>#1963 AS2 properly decompile/direct edit long classes</li>
<li>#1977 AS3 Find usages - class and function usages, various fixes</li>
<li>IllegalArgumentException: JSplitPane weight must be between 0 and 1</li>
<li>#1979 SVG import - autoclosing fill paths (without closing stroke paths)</li>
</ul>
</description>
</release>
<release version="18.3.5" date="2023-02-12">
<description>
<p>Added</p>
<ul>
<li>#1959 Display frame labels along frames and FrameLabel tags</li>
</ul>
<p>Fixed</p>
<ul>
<li>#1960 Hide tag tree root handles as it was in previous versions</li>
<li>#1964 Freezing on releasing mouse while shape transforming (deadlock)</li>
<li>#1961 Characters can use characterId 0, PlaceObject can use depth 0</li>
<li>#1963 Reading CLIPEVENTFLAGS ClipActionEndFlag on SWF versions >= 6</li>
<li>#1968, #1971, #1957 Cannot start FFDec due to large stack size on some configurations</li>
</ul>
<p>Changed</p>
<ul>
<li>#1960 Quick search does not search in SWF name or folder names</li>
<li>#1961 SoundStreamHead on main timeline is exported/imported with identifier "-1"</li>
<li>#1957 Larger stack size (when needed) must be configured manually in ffdec.bat or ffdec.sh</li>
</ul>
</description>
</release>
<release version="18.3.4" date="2023-01-30">
<description>
<p>Added</p>
<ul>
<li>#1029 Better separation of library and main app, dependencies inside library zip, library readme</li>
<li>Remembering script+folder scroll/caret position when switching between items, saving for pinned items</li>
</ul>
<p>Fixed</p>
<ul>
<li>#1948 Timeout while deobfuscation did not skip method</li>
<li>#1948 NullPointerException on Simplify expressions on incrementent/decrement</li>
<li>#1941 Export when no node is selected after SWF opening</li>
<li>Exception handling in cache clearing thread</li>
<li>DottedChain.PathPart NoSerializable exception</li>
<li>#1951 Clearing Namespace/Multiname cache after renaming identifiers</li>
<li>#1951 Renaming invalid identifiers with existing string collisions</li>
<li>#1888 String casts - ConvertS on XML, XMLList</li>
<li>#1953 Save as EXE - add file extension when missing</li>
<li>#1954 Incorrect calculation of empty button bounds causing OutOfMemory</li>
<li>#1944 Scroll position not retained on Ctrl+click in the tag tree</li>
<li>#1940 AS3 decompilation - wrong assignment</li>
<li>AS3 - incorrect switching P-code causing empty text</li>
<li>AS3 - Select the trait after adding new</li>
<li>#1955 AS3 - Exception during removing trait</li>
<li>#688 AS3 Direct editation - construction (new keyword) converted to call when result not used</li>
</ul>
<p>Changed</p>
<ul>
<li>#1957 Increased maximum stack size to avoid StackOverflowErrors on unusual scripts</li>
</ul>
</description>
</release>
<release version="18.3.3" date="2023-01-22">
<description>
<p>Added</p>
<ul>
<li>#1913 Option to retain shape exact position(bounds) in SVG export</li>
<li>#1913 Option to disable bitmap smoothing for display</li>
</ul>
<p>Fixed</p>
<ul>
<li>#1888 AS3 - missing casts in declarations</li>
<li>#1894 Switch inside loop</li>
<li>#1801 AS3 - AIR/Flash switching</li>
<li>#1892 AS3 - internal modifier after implicit namespace</li>
<li>#1888 AS3 - Coerce to string</li>
<li>AS3 - local registers type declarations vs for..in clause</li>
<li>#1888 AS3 - Coerce to int when Number</li>
<li>AS3 - super properties resolving</li>
<li>AS3 - line numbering on pushback string on regexp</li>
<li>AS3 Direct editation - removing method bodies after unsuccessful edit</li>
<li>#1936 AS3 - Parentheses around function definition call</li>
<li>#1936 AS3 - Scope stack in second pass</li>
<li>#1936 AS3 Direct editation - handling undefined variables</li>
<li>#1936 AS3 Direct editation - colliding try..catch variable</li>
<li>#1936 AS3 Direct editation - missing pop after call</li>
<li>#1936 AS3 Direct editation - slots increment, decrement</li>
<li>#1936 AS3 Direct editation - scope of nested functions</li>
<li>AS3 - empty P-code shown on clicking script</li>
<li>#1888 AS3 - Coerces, module operator</li>
<li>#1937 AS3 - declarations vs null</li>
<li>#1458 Quick find bar overlaying horizontal scrollbar</li>
<li>#1842 AS1/2 Better handling obfuscated code, for..in</li>
<li>#1842 AS1/2 use parenthesis when initObject has nonstring keys</li>
<li>#1842 AS - Do not display §§dup when the value has no sideeffect</li>
<li>Deobfuscation icon on script toolbar did not match the deobfuscation status</li>
<li>#1938 AS3 Direct editation - implied this instead of findprop</li>
<li>#1938 AS3 Direct editation - local registers coerce/convert</li>
<li>#1938 AS3 Direct editation - setting default values for slots</li>
<li>AS3 Direct editation - using local classes as types</li>
<li>#1938 AS3 - coercion call type</li>
<li>#1938 AS3 - shortening + 1 to increment</li>
<li>#1938 AS3 - implicit coercion of operations</li>
<li>#1938 AS3 - initproperty compound operators, increment/decrement</li>
<li>#1938 "Open loaded during play" Loader injection for Multiname types</li>
<li>AS3 - not using visitCode when not needed => faster decompilation</li>
<li>Cache thread as daemon</li>
<li>#1949 Incorrect reading FIXED and FIXED8 SWF values causing wrong Filters size and OutOfMemory</li>
</ul>
</description>
</release>
<release version="18.3.2" date="2023-01-10">
<description>
<p>Removed</p>
<ul>
<li>#1935, #1913 Retaining shape exact position(bounds) in SVG export/import</li>
</ul>
</description>
</release>
<release version="18.3.1" date="2023-01-09">
<description>
<p>Added</p>
<ul>
<li>GFX - support for TGA external images</li>
<li>GFX - DefineExternalGradient tag has gradientId in its name</li>
<li>GFX - DefineExternalSound and DefineExternalStreamSound playback</li>
</ul>
<p>Fixed</p>
<ul>
<li>GFX - DefineExternalImage2 display and correct handling if standalone</li>
<li>#1931, #1934 DefineSprite rectange calculation (incorrect export dimensions)</li>
<li>#1929, #1932 Wrong subsprite frames display</li>
<li>#1933 AS3 - Detection of variable names from debug info on multiple debug ins with same regindex</li>
<li>GFX - ExporterInfo prefix is NetString</li>
<li>Scrollbars on sound playback</li>
<li>Clear preview on raw edit to stop sound playback</li>
<li>CXFORM and GRADRECORD causing NotSerializableException</li>
<li>Scrollbars</li>
<li>Incorrect frame counting</li>
<li>Save as does not change file title upon reload</li>
</ul>
</description>
</release>
<release version="18.3.0" date="2023-01-01">
<description>
<p>Added</p>
<ul>
<li>#1913 Shape transforming, point editation</li>
<li>Hilighting currently selected shape edge in the raw edit</li>
<li>#1905 Key strokes on folder preview panel</li>
<li>Scrollbars</li>
<li>Morphshape transforming, point editation</li>
<li>Raw edit - (MORPH)GRADIENT spreadMode,interpolationMode as enums</li>
<li>Unit selection (pixels/twips) in header editation</li>
</ul>
<p>Fixed</p>
<ul>
<li>#1915 SVG import - gradient when it has two final stops</li>
<li>Native sound export format for ADPCM compression is FLV</li>
<li>#1923 Wrong cyclic tag detection causing hidden sprites</li>
<li>Ctrl + G shortcut for tag list view</li>
<li>Uncompressed FLA (XFL) export creates a directory</li>
<li>#1827 Video replacing VP6 reading</li>
<li>#1926 Constructors namespace taken from class - should be always public</li>
<li>#1772 AS1/2 decompilation - StackOverflow during getVariables function</li>
<li>#1890 AS3 - Removing first assignment in for in loop</li>
</ul>
<p>Changed</p>
<ul>
<li>#1913 SVG export/import of shapes - shape exact position (bounds) is retained</li>
</ul>
</description>
</release>
<release version="18.2.1" date="2022-12-28">
<description>
<p>Fixed</p>
<ul>
<li>Copy/Move/Cut with dependencies did not handle original tag when not charactertag</li>
<li>#1922 FLA/XFL/Canvas/SVG export - exporting DefineBitsJPEG3/4 with alpha as JPEG with PNG extension</li>
<li>#1921 AS3 direct editation - exception on code save - wrong selected ABC</li>
</ul>
</description>
</release>
<release version="18.2.0" date="2022-12-27">
<description>
<p>Added</p>
<ul>
<li>#1917 Better error message for sound import on unsupported sampling rate</li>
<li>#1827 Replacing and bulk import of DefineVideoStream</li>
<li>Movie FLV export - writing simple onMetadata tag</li>
<li>#1424, #1473, #1835, #1852 Replacing sound streams (SoundStreamHead, SoundStreamBlock)</li>
<li>Bulk import sounds and sound streams</li>
</ul>
<p>Fixed</p>
<ul>
<li>#1914 DropShadow filter</li>
<li>#1916 Translation tool did not load up</li>
<li>PlaceObject preview not cleared causing sound to repeat</li>
<li>#1920 AS3 - Slower decompilation (returnType method optimization)</li>
</ul>
</description>
</release>
<release version="18.1.0" date="2022-12-23">
<description>
<p>Added</p>
<ul>
<li>Deobfuscation and its options as icons on script panel toolbar</li>
<li>Warning before switching auto rename identifiers on</li>
<li>#1231 Button transforming</li>
<li>#1690 Deobfuscation tool dialog for script level (not just current method / all classes)</li>
<li>#1460 Commandline import of text, images, shapes, symbol-class</li>
<li>#1909 Export/import DefineBitsJPEG3/4s alpha channel to/from separate file
("PNG/GIF/JPEG+alpha" option in GUI, "-format image:png_gif_jpeg_alpha" for commandline)</li>
<li>#1910 Copy/paste transform matrix to/from the clipboard</li>
<li>#1912 Persist selected item in the tree upon quick search (Ctrl+F)</li>
<li>#1901 Editor mode and autosave feature for header, raw editor, transform</li>
<li>#583 FlashPaper SWF to PDF with selectable text (commandline)</li>
<li>#1858 PDF export - JPEG with alpha channel exported as is</li>
</ul>
<p>Fixed</p>
<ul>
<li>#1904 NullPointerException when renaming invalid identifiers in AS1/2 files caused by missing charset</li>
<li>#1904 NullPointerException when fast switching items</li>
<li>#1904 NullPointerException on ErrorLog frame</li>
<li>#1904 NullPointerException on decompiler pool</li>
<li>#1904 AS1/2 Simplify expressions breaks registers, functions</li>
<li>#1904 AS1/2 Throw is an ExitItem to properly handle continues vs ifs</li>
<li>#595 AS3 direct editation - protected property resolving</li>
<li>AS3 direct editation and decompiler share same AbcIndex</li>
<li>BUTTONRECORD display does not use its Matrix</li>
<li>Editation status not cleared after Sprite transforming</li>
<li>Image flickering</li>
<li>Show Hex dump for AS1/2 script tags</li>
<li>Speaker image when sound selected not in the center</li>
<li>#1908 Slow commandline opening SWF</li>
<li>#1908 Shape/image import must accept also filenames in the form "CHARID_xxx.ext" instead of just "CHARID.ext"</li>
<li>Exporting DefineJPEG3/4 with alpha channel to PNG produced JPEG instead</li>
<li>AS3 package level const with function value - separate P-code for trait and method</li>
<li>Slot/const trait proper p-code indentation</li>
<li>#1858 PDF export - Adding same ExtGState multiple times,</li>
<li>#1858 PDF export - Applying same alpha/blendmode multiple times</li>
<li>#1858 PDF export - Applying same color multiple times</li>
<li>#1907 Crashing on memory search</li>
<li>#1906 Memory search - byte align opens wrong SWFs</li>
</ul>
<p>Changed</p>
<ul>
<li>Warning before switching deobfuscation is now optional</li>
<li>#1690 Redesigned Deobfuscation tool dialog.</li>
<li>Shape/image/script/text import does not require specific folder name inside (but still preffers it when exists)</li>
</ul>
<p>Removed</p>
<ul>
<li>"Restore control flow" deobfuscation level as it was the same as "Remove traps"</li>
</ul>
</description>
</release>
<release version="18.0.0" date="2022-12-18">
<description>
<p>Added</p>
<ul>
<li>#1898 Keyboard shortcut to remove tags (DEL, SHIFT+DEL)</li>
<li>#1511, #1765 Quick search tree (Ctrl+F) for everything, not just AS3 classes</li>
<li>Quick search (Ctrl+F) for tag list view</li>
<li>#1884 Memory search - show size and adress in hex, show only aligned to N bytes</li>
<li>AS3 - "internal" keyword support</li>
<li>ProductInfo tag information display</li>
<li>DebugId tag proper display and editation</li>
<li>#1564, #1676, #1697, #1893 Display of DefineVideoStream tags with VLC player</li>
<li>List of treenode subitems on otherwise empty panel (with 32x32 icons)</li>
<li>DefineVideoStream codecId and videoFlagsDeblocking handled as enums in raw editation</li>
<li>Option to mute frame sounds</li>
<li>Experimental option to fix conflation artifacts in antialising (slow)</li>
<li>Option to disable autoplay of sounds (DefineSound)</li>
<li>#1181 Remembering choice of loading assets via importassets tag</li>
<li>#1900 Free transform whole sprites</li>
<li>Show axis as dashed line in Free transform of sprites</li>
<li>#1900 Transformation panel with flip/move/scale/rotate/skew/matrix options</li>
<li>#1900 Move object around with arrow keys (in transform mode)</li>
<li>Alt + click selects PlaceObjectTag under cursor</li>
<li>#1901 Double click tree node to start edit (can be enabled in settings)</li>
<li>Info about editation in status bar</li>
<li>AS3 P-code keyword "Unknown(N)", where N is index. For constants out of bounds. (mostly in dead code)</li>
<li>AS3 P-code - Editing methods without body (interfaces / native methods)</li>
</ul>
<p>Fixed</p>
<ul>
<li>#1897 Close menu button without selecting specific item</li>
<li>Reading UI32 values</li>
<li>Parsing obfuscated namespaces with hash character "#"</li>
<li>Tag dependency checking</li>
<li>#1884 Memory search - Logged exception when cannot get page range</li>
<li>#1884 Memory search - Exception on sorting by pid</li>
<li>#1006 AS3 - Warning - Function value used where type Boolean was expected</li>
<li>AS3 - Resolving types on static protected namespaced properties</li>
<li>Hiding selection after raw editation save</li>
<li>Proper disabling switching items or other actions on editation</li>
<li>Raw editor item count and edit display</li>
<li>Warnings about invalid reflective access in color dialog on Java 9+</li>
<li>Folder preview tag names have indices when multiple with same name</li>
<li>ShapeImporter fillstyles shapenum</li>
<li>Reload button disabled after saving new file</li>
<li>PlaceObject tag - do not display export name twice</li>
<li>Loading nested characters when Importassets tag used</li>
<li>Hide various actions for imported tags</li>
<li>Clone tag</li>
<li>Hide freetransform button in readonly mode</li>
<li>Maintain export name/class on imported tags</li>
<li>Classnames in PlaceObject</li>
<li>#1828 AS1/2 deobfuscation removing variable declarations</li>
<li>Loaded SWFs using "Open loaded during play" feature have short filenames</li>
<li>#1796 Exception on closing multiple SWFs</li>
<li>AS3 Deobfuscation causing invalid jump offsets for files with constant indices out of bounds</li>
<li>AS3 - "native" modifier only for methods with EXPLICIT flag</li>
<li>AS3 - AS3 builtin namespace visibility</li>
</ul>
<p>Changed</p>
<ul>
<li>Quick search needs minimum of 3 characters</li>
<li>AS1/2 deobfuscation - removing obfuscated declarations is now optional (default: off)</li>
<li>AS3 - order of modifiers: final, override, access, static, native</li>
</ul>
</description>
</release>
<release version="17.0.4" date="2022-12-02">
<description>
<p>Fixed</p>
<ul>
<li>#1888 Casts for missing types, cast handling for script local classes</li>
<li>#1895 Handling of unstructured switch</li>
<li>#1896 NullPointer during deobfuscation</li>
</ul>
</description>
</release>
<release version="17.0.3" date="2022-11-30">
<description>
<p>Added</p>
<ul>
<li>Translator tool for easier localization</li>
<li>AS3 improved goto declaration for properties and methods</li>
<li>playerglobal.swc and airglobal.swf now part of FFDec bundle</li>
</ul>
<p>Fixed</p>
<ul>
<li>#1769 AS3 - Missing some body trait variable declaration</li>
<li>#1769, #1888 AS3 - Missing casts like int()</li>
<li>#1890 AS3 - Chained assignments in some special cases</li>
<li>#1810 AS3 Direct editation - XML attribute handling</li>
<li>#1810 AS3 Direct editation - Calls inside submethods using this</li>
<li>#1891 AS3 - duplicate variable declaration in some cases</li>
<li>All SWF classes inside DoABC tags in the taglist view</li>
<li>Exception on package selection inside DoABC tag on taglist view</li>
<li>#1892 AS3 - Package internal custom namespaces</li>
<li>Unpin all context menu not clearing pins properly</li>
<li>AS3 - RegExp escaping</li>
<li>AS3 - Avoid Error Implicit coercion of a value of type XXX to an unrelated type YYY</li>
<li>AS3 - XML - get descendants operator parenthesis</li>
<li>Switch decompilation in some corner cases</li>
<li>#1894 Switches vs loops decompilation (now with two passes)</li>
<li>#1894 AS3 - XML filters in some corner cases</li>
<li>#1887 AS3 - strict equals operator decompilation</li>
</ul>
</description>
</release>
<release version="17.0.2" date="2022-11-22">
<description>
<p>Fixed</p>
<ul>
<li>#1882 Close button on the menu toolbar</li>
</ul>
</description>
</release>
<release version="17.0.1" date="2022-11-21">
<description>
<p>Added</p>
<ul>
<li>PR119 Option to set scale factor in advanced settings (Set it to 2.0 on Mac retina displays)</li>
</ul>
<p>Fixed</p>
<ul>
<li>#1880 JPEG Fixer</li>
<li>Close action from menu not available on bundles (zip, etc...)</li>
<li>#1881 Wrong locale reference for invalid tag order</li>
<li>New file action</li>
<li>Moving tags to frames</li>
</ul>
</description>
</release>
<release version="17.0.0" date="2022-11-20">
<description>
<p>Added</p>
<ul>
<li>#1870 AS3 Adding new class - Target DoABC tag or position can be selected to prevent Error 1014</li>
<li>#1871 Toogle buttons for disabling subsprite animation, display preview of sprites/frames</li>
<li>#1875 Remove no longer accessed items from cache after certain amount of time</li>
<li>#1280 AS3 Direct editation of traits with the same name</li>
<li>#1743 GFX - Adding DefineExternalImage2 and DefineSubImage tags</li>
<li>#1822, #1803 AS3 direct editation - optional using AIR (airglobal.swc) to compile</li>
<li>#1501 Bulk import shapes</li>
<li>#1680 Pinning items</li>
<li>Indices in brackets for items with same name (like two subsequent DoAction tags)</li>
<li>Flattened ActionScript packages (one row per package instead package tree), can be turned off in settings</li>
<li>#1820 Opening standalone ABC files (*.abc)</li>
<li>Classes tree inside DoABC tags in taglist view</li>
<li>Export ABC data from DoABC tags</li>
</ul>
<p>Fixed</p>
<ul>
<li>#1869 Replace references now replaces all references, not just PlaceObject</li>
<li>Handle StartSound tag as CharacterIdTag</li>
<li>Clearing shape export cache on changes</li>
<li>Preview of PlaceObject and frames on hex dump view</li>
<li>AS3 Direct editation - Top level classes do not use ":" in their namespace names</li>
<li>AS3 Direct editation - Using "/" separator for method names</li>
<li>Folder preview resizing (scrollbar too long)</li>
<li>#1872 Removing PlaceObject/RemoveObject with no characterid with Remove character action</li>
<li>#1692 Resolving use namespace</li>
<li>#1692 Properly distinguish obfuscated names vs namespace suffixes and attributes</li>
<li>#1757 Binary search - SWF files need to be sorted by file position</li>
<li>#1803 AS3 Direct editation - Colliding catch name with other variable names / arguments</li>
<li>AS3 Direct editation - slow property resolving (Now up to 10 times faster compilation)</li>
<li>#1875 Garbage collect SWF and its caches after closing it</li>
<li>#1807 Proper parenthesis around call inside another call</li>
<li>#1840 AS3 - Allow to compile object literal keys with nonstring/numbers in obfuscated code</li>
<li>#1840 AS3 Direct editation - Type mismatched for a trait</li>
<li>#1840 Proper if..continue..break handling</li>
<li>#1877 Recalculate dependent characters and frames on removing / editing item</li>
<li>DefineShape4 SVG import NullPointerException</li>
<li>List of objects under cursor and coordinates not showing</li>
<li>ConcurrentModificationException in getCharacters on exit</li>
<li>Header of display panel not visible on certain color schemes</li>
<li>Move tag to action did not remove original tag</li>
<li>Show in tag list from tag scripts</li>
<li>Move/Copy tag to action on tag scripts</li>
<li>#1879 False tag order error with SoundStreamHead</li>
<li>Error messages during SWF/ABC reading have correct error icon and title, are translatable</li>
</ul>
<p>Changed</p>
<ul>
<li>GFX - DefineExternalImage2 no longer handled as character</li>
<li>Raw editor does not show tag name in the tree (it's now in the new pinnable head)</li>
<li>DoInitAction is not shown in resources/sprites section, only in scripts</li>
<li>ActionScript packages are by default flattened (can be turned off in settings)</li>
</ul>
</description>
</release>
<release version="16.3.1" date="2022-11-14">
<description>
<p>Fixed</p>
<ul>
<li>#1867 AS3 - §§hasnext, §§nextvalue, §§nextname in some nonstandard compiled SWFs</li>
<li>#1868 Raw editation NullPointerException</li>
</ul>
</description>
</release>
<release version="16.3.0" date="2022-11-14">
<description>
<p>Added</p>
<ul>
<li>Allowed copy/cut tags to clipboard across multiple SWFs</li>
<li>Keyboard shortcuts for tag clipboard operations</li>
<li>Hilight clipboard panel on copy/cut action for a few seconds</li>
<li>Drag and drop to move/copy tags in the tag list view (Can be disabled in settings)</li>
<li>Setting for enabling placing Define tags into DefineSprite</li>
<li>Icons for tags in replace character dialog</li>
<li>Move tag with dependencies</li>
<li>Copy/Move tag operation has select position dialog</li>
<li>Select position dialog has target file in its title</li>
<li>#1649 Moving SWF files (and bundles) up and down (comtext menuitem + ALT up/down shortcut)</li>
<li>Moving tags up and down in the taglist view (context menuitem + ALT up/down shortcut)</li>
<li>#1701 Setting charset for SWF files with version 5 or lower (GUI, commandline)</li>
<li>#1864 Commandline: Allow to set special value "/dev/stdin" for input files to read from stdin (even on Windows)</li>
<li>Show button records in the tree, preview them</li>
<li>Show in Hex dump for BUTTONCONDACTION, BUTTONRECORD, CLIPACTIONRECORD</li>
<li>Alpha and Erase blend modes support</li>
<li>Raw editor - Edit blend modes as enum</li>
<li>Search in the advanced settings</li>
</ul>
<p>Fixed</p>
<ul>
<li>Exception when bundle selected</li>
<li>File path in window title for SWFs inside DefineBinaryData</li>
<li>#1863 Export to PDF - cannot read fonts with long CMAP</li>
<li>Go to document class when switched to tag list view</li>
<li>Copy/Move with dependencies order of tags</li>
<li>#1865 ConcurrentModificationException on SWF close</li>
<li>NullPointerException on expanding needed/dependent characters on basic tag info</li>
<li>Copy/Move with dependencies should copy mapped tags too</li>
<li>Recalculating dependencies in the loop (now only on change)</li>
<li>Dependencies handling</li>
<li>Raw editing of DefineFontInfo/DefineFont2-3, KERNINGRECORD - proper switching wide codes</li>
<li>Storing SWF configuration for files inside bundles and/or binarydata</li>
<li>#1846 blend modes with alpha</li>
<li>Raw editor does not select item in enum list</li>
<li>Sound not played on frames</li>
<li>#1678 Miter clip join - can be enabled in Settings</li>
<li>Html label links visibility</li>
</ul>
<p>Changed</p>
<ul>
<li>Full path inside bundle is displayed as SWF name instead simple name</li>
</ul>
</description>
</release>
<release version="16.2.0" date="2022-11-08">
<description>
<p>Added</p>
<ul>
<li>#1414 Cancelling in-progress exportation</li>
<li>#1755 Copy tags to tag clipboard and paste them elsewhere</li>
<li>#1460 Bulk importing images</li>
<li>Bulk importing scripts/text/images added to SWF context menu</li>
<li>#1465 Configuration option to disable SWF preview autoplay</li>
<li>Setting for disabling expanding first level of tree nodes on SWF load</li>
</ul>
<p>Fixed</p>