summarylogtreecommitdiffstats
path: root/ChangeLog
blob: a1f351dc237055079476f63620f78baca161272d (plain)
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
5.17.1 (2024-08-30 18:57:13)

    Provides a way to specify a multiplier when defining switch hints.
    Adds the multiplier as a formatting option for address differences. 

5.17.0 (2024-08-27 17:47:17)

    Show unicode strings in the comments. 

5.16.2 (2024-08-12 18:16:42)

    Fixes a crash on macOS 15.1 beta 1,
    Adds a shortcut to copy the current address. 

5.16.1 (2024-08-06 12:30:52)

    Improves detection of strings,
    Improves detection of hardened runtime on attach. 

5.16.0 (2024-07-16 15:25:04)

    Improves the detection of hardened runtime,
    Fixes the patches not being applied before launching the debugger. 

5.15.6 (2024-05-24 15:31:24)

    Fixes a crash on Intel computers. 

5.15.4 (2024-05-16 17:09:26)

    Fixes an issue where Hopper would hang on some mangled files improperly extracted from the DYLD shared cache. 

5.15.3 (2024-04-09 15:48:13)

    Improves compatibility with the latest versions of Python. 

5.15.0 (2024-03-26 17:56:24)

    Improves compatibility with DYLD shared cache of macOS 14.4 and later. 

5.14.3 (2024-03-11 12:55:18)

    Allows modifications of BSS sections,
    Fixes a compatibility issue with the latest version of Python (3.12). 

5.14.2 (2024-02-21 10:56:25)

    Improves compatibility with macOS 14.4 beta 3 and 4 DYLD shared cache. 

5.14.1 (2024-02-19 18:08:18)

    Improves the export of Objective-C header,
    Fixes a few issues in the C type parser. 

5.14.0 (2024-01-16 11:41:47)

    Adds a new command palette which allows to quickly navigate between menus, documents, symbols and strings,
    Improves detection of some weird ARM constructs for simulating a call instruction,
    Fixes a decompiler issue where some variable assignments were too aggressively optimised. 

5.13.5 (2023-12-12 17:11:03)

    Fixes some AArch64 vector instructions which were missing their register size suffixes,
    Fixes an issue with the Python API which prevented usage of some helper functions,
    Fixes a deadlock in the Linux version. 

5.13.4 (2023-11-08 11:55:11)

    Fixes a crash on startup on macOS 12 and earlier. 

5.13.3 (2023-11-07 17:41:07)

    Reduces the memory footprint of the BinDiff exporter,
    Proper handling or the ARMv8.5 extension,
    Fixes a crash when exporting BinDiff for some large files,
    Fixes disassembly of some vector instructions (aarch64). 

5.13.2 (2023-10-19 18:02:03)

    Fixes an issue in the propagation of no-return method. 

5.13.1 (2023-10-17 14:26:39)

    Improves BinDiff exports. 

5.13.0 (2023-10-10 17:33:57)

    Disassembles the Apple AMX extension instructions,
    Improves dead code removal in the decompiler,
    Fixes an issue when a conditional instruction was jumping to a no-return function,
    Improves how the method signature is computed from a C++ mangled name,
    Fixes m68k bit field instructions disassembly. 

5.12.0 (2023-09-14 16:53:20)

    Fixes a few issues when debugging a GDB remote target. 

5.11.7 (2023-08-26 16:21:14)

    Drastically reduce the memory footprint on very large binaries during the analysis. 

5.11.6 (2023-08-04 19:17:47)

    Fixes the display of pseudo-string arguments for big endian CPU,
    Cleans up the code for license and update plan purchases. 

5.11.5 (2023-07-19 19:14:58)

    Improves the handling of newer DYLD caches, especially symbols reading,
    Works around a bug in macOS Sonoma beta which prevents large documents from being properly displayed. 

5.11.4 (2023-07-10 16:49:01)

    Improves the responsiveness of the address list,
    Fixes a dead lock when resizing the address list when the procedure list was displayed and a background analysis was running. 

5.11.3 (2023-06-29 17:35:17)

    Improves M68k XREF computation,
    Fixes the Fedora package. 

5.11.2 (2023-06-29 10:43:53)

    Fixes a crash in the M68k CPU plugin. 

5.11.1 (2023-06-14 19:00:33)

    Adds Python method for bookmarks handling,
    Fixes the Python prompt for accepting unterminated commands,
    Refinements on 6502 and M68k CPU plugins. 

5.11.0 (2023-05-23 13:43:18)

    Provides a useful error message when the assembler fails,
    Highlights the path that will be taken when the program counter reaches a conditional jump instruction in the debugger,
    Adds initial support for Motorola 680x0 CPUs,
    Adds support for Amiga executables and raw ADF,
    Fixes a potential deadlock when exporting assembly or pseudo-code,
    Fixes an issue when assembling TBZ / TBNZ instructions. 

5.10.0 (2023-05-05 11:26:13)

    Adds support for iOS and macOS Kernel Caches (only the ones that are not encrypted),
    Slightly improve the disassembly of some bit shifting ARMv7 instructions. 

5.9.0 (2023-04-20 19:13:10)

    Fixes an issue when decompiling conditional ARM instructions using the LS condition,
    Improves the disassembly of ARM instructions using an imm12 encoded field. 

5.8.8 (2023-03-17 17:14:04)

    Improves Apple Silicon decompilation,
    Fixes an issue which prevented Hopper from decrypting some of the Intel system binaries on Apple Silicon. 

5.8.7 (2023-03-07 20:20:14)

    Improves switch / case detection,
    Improves no-return function detection,
    Fixes a crash when exporting BinDiff databases. 

5.8.6 (2023-02-03 18:24:21)

    Exports more symbols from the DYLD shared cache,
    Improves the time needed to extract a file from the DYLD shared cache,
    Fixes some colors used for texts on Linux which were not readable on dark themes. 

5.8.5 (2023-01-16 17:24:23)

    Improves the preferences window,
    Handles some third party mouses for navigating backward / forward using dedicated buttons. 

5.8.4 (2022-12-21 17:33:38)

    Provides a way to identify some Windows functions imported by ordinal. 

5.8.3 (2022-12-09 17:01:36)

    Fixes a crash when parsing Swift metadata on ciphered files. 

5.8.1 (2022-12-03 13:58:10)

    Fixes a layout issue with tabs,
    Fixes an issue where the decompiler would generate incoherent goto statements,
    Adds a way to prevent loading user plugins if a plugin make Hopper crash at startup to prevent a crash loop. 

5.8.0 (2022-11-18 17:57:17)

    First iteration on loading Swift metadata. Retrieved information can be found as comments in the dedicated sections,
    Improves the handling of the new DYLD shared caches, and especially symbols,
    Fixes a crash when exporting pseudo-code containing very large methods. 

5.7.8 (2022-11-07 16:25:18)

    Adds a way to define environment variables in the debugger,
    Adds an option to displays the hex column in the debugger when PC / RIP is outside of the main binary file,
    Allows one to define struct containing relative pointers,
    Fixes an issue with Python scripts not being updated when edited outside of Hopper,
    Better parses some Objective-C sections,
    Fixes a crash when trying to read an old DYLD shared cache from iOS 3. 

5.7.7 (2022-09-09 17:12:49)

    Fixes loading older dyld caches. 

5.7.6 (2022-09-03 01:18:55)

    Fixes a crash while loading an Intel DYLD shared cache. 

5.7.5 (2022-09-02 21:30:03)

    Makes Hopper compatible with iOS 16 DYLD shared caches,
    Improves extraction of files from DYLD shared caches. 

5.7.4 (2022-07-29 16:17:02)

    Improves the detection of ARMv7EM binaries,
    Improves the loading of malicious Mach-O executables with a symbol table modified by hand,
    Improves the loading of DLL files targetting platforms other than Windows,
    Fixes an issue where only the first references to an address were listed in the inspector,
    Fixes a crash for some files extracted from a DYLD shared cache. 

5.7.3 (2022-07-20 17:54:11)

    Fixes an issue with the hex editor for files extracted from a FAT binary,
    Adds an option in the "go to" dialog for jumping at a local or a global (i.e., in the original container) file offset. 

5.7.2 (2022-07-19 10:33:21)

    Fixes a crash when disassembling some variants of the LD1 AArch64 instruction. 

5.7.1 (2022-07-18 17:23:55)

    Fixes missing operands for some vector AArch64 instructions,
    Fixes a few issues introduced by the Python 3 migration on functions like readBytes. 

5.7.0 (2022-07-08 16:54:15)

    Improves the decompilation of Objective-C programs extracted from the DYLD cache,
    Fixes the display of 32-bit operands formatted as a float. 

5.6.1 (2022-06-29 17:46:54)

    Improves DYLD cache path discovery on macOS Ventura,
    Slightly improves the decompiler output,
    Fixes a crash on multi-display systems when the computer was awakened,
    Fixes conditional jump instructions on the PowerPC plugin. 

5.6.0 (2022-05-31 12:51:35)

    Adds a decompiler's option which removes (almost) all GOTO statements. This is still considered as beta as it introduces a lot of temporary variables.
    Adds a way to change the fields order of a structure, a union or an enum.
    Adds a way to change the arguments order of a method signature.
    Fixes an issue with the disassembly of the CCMP instruction (AArch64). 

5.5.3 (2022-04-15 18:02:44)

    Improves loading of ARMv8 ELF binaries by handling more relocation types. 

5.5.2 (2022-03-24 23:36:08)

    Fixes a crash in the DYLD cache loader introduced in 5.5.1. 

5.5.1 (2022-03-24 21:48:04)

    Adds a tooltip when hovering a truncated name in the list of symbols,
    Improves the demangling of Swift symbols,
    Fixes an issue which would prevent some Objective-C protocols from being read from a DYLD shared cache,
    Improves keyboard navigation in the executable selection dialog. 

5.5.0 (2022-03-22 19:08:11)

    Allows enum types to have a base type in the type editor,
    Adds a quick way to load a library from the current DYLD cache,
    Improves the executable dialogs in order to ease navigation with the keyboard. 

5.4.0 (2022-03-03 18:00:52)

    Adds support for BinDiff: you can export a BinExport file to be used with BinDiff, and import back a BinDiff database,
    Fixes misidentified AArch64e binaries in FAT archives. 

5.3.4 (2022-01-27 17:07:24)

    Speed improvement for the dataflow analysis,
    Fixes the tool for installing a license for multiple local account for people owing Computer Licenses. 

5.3.3 (2022-01-20 18:11:53)

    More debugger fixes. 

5.3.2 (2022-01-20 13:13:31)

    Fixes a crash in the debugger. 

5.3.1 (2022-01-06 20:06:14)

    Improves detection of no-return functions,
    Adds a way to choose the entries' size of a switch / case table,
    Fixes an issue when creating procedures using PAC. 

5.3.0 (2021-12-23 18:17:50)

    Updates Capstone to a more recent version,
    Fixes a crash when rebasing a MachO binary without chained fixups. 

5.2.0 (2021-12-04 18:29:35)

    Handles the new iOS15 / macOS 12 chained fixups pointers. 

5.1.4 (2021-11-26 18:47:22)

    Fixes an issue where argument analysis was not seeing some instructions. 

5.1.3 (2021-11-25 20:40:51)

    Improves detection of methods' argument, and the signature editor. 

5.1.2 (2021-11-23 14:43:52)

    Uses the same limit as the one defined in the preferences when exporting pseudo-code,
    Fixes an issue preventing users to re-download the latest version associated to their license. 

5.1.1 (2021-11-18 19:54:59)

    Updates Sparkle to version 1.27.1,
    Fixes a crash on malformed Mach-O files,
    Fixes multiple memory leaks. 

5.1.0 (2021-11-16 16:16:44)

    Fixes a parsing issue of bogus exception tables generated by GCC,
    Fixes an issue with Mach-O relocations,
    Fixes an issue where it was impossible to read a previously saved document containing too many entrypoints. 

5.0.0 (2021-10-28 18:49:44)

    Fixes a crash in the debugger when logging was enabled,
    Improves overral macOS Monterey compatibility,
    Improves detection of a newly added update plan. 

4.9.6 (2021-10-26 18:07:25)

    Fixes a deadlock which may happen when a document was closed. 

4.9.5 (2021-10-26 12:44:47)

    Fixes a crash when loading an old DYLD shared caches (iOS 13 and before),
    Fixes a weird behaviour of the registration window which was disabling keyboard shortcuts in some situations.

4.9.4 (2021-10-22 16:51:37)

    Fixes the loading of iOS application bundles downloaded from M1 Macs,
    Improves method signature detection for some Swift internal methods,
    Fixes a few issues with some dialogs when types contained some very long names.

4.9.3 (2021-10-13 17:24:38)

    Fixes an issue in the ARM debugger where SP value was displayed instead of PC value,
    Fixes the drawing of ARM instructions when PC value is outside of the application memory space,
    Removes all usages of the deprecated WebKit classe.

4.9.2 (2021-09-21 17:26:40)

    Fixes an issue where selectors were not properly displayed in pseudo-code of methods extracted from a DYLD cache,
    Fixes an issue where the wrong symbol name would be displayed on executables extracted from an Apple Silicon DYLD cache.

4.9.0 (2021-09-14 15:47:43)

    Fixes loading of the new dyld shared cache,
    Fixes issues with the Objective-C metadata of Apple Silicon binaries.

4.8.2 (2021-08-06 23:09:32)

    Adds an hexadecimal view in the data inspector of the hex editor mode,
    Adds a Python method to rebase a document from a script,
    Fixes a bug in the rebase dialog,
    Fixes the toolbar on macOS 10.13.

4.8.1 (2021-07-22 19:05:17)

    Automatic selection of the best Python interpreter.

4.8.0 (2021-07-21 17:36:28)

    Initial support for the new DYLD shared cache of macOS Monterey,
    Switch to Python 3.

4.7.7 (2021-06-09 17:58:39)

    Faster drawing which improves scrolling in bug documents,
    Improves the creation of pointer differences tables,
    Fixes a crash at launch on macOS 12 beta 1,
    Fixes a crash for some Windows binaries.

4.7.6 (2021-05-10 16:16:58)

    Fixes an infinite loop on some Windows executables,
    Fixes a rare crash when using Hopper inside a virtual machine.

4.7.5 (2021-04-29 15:58:48)

    Fixes an issue with dSYM loader.

4.7.4 (2021-04-14 23:02:30)

    Fixes a crash when loading some files from the DYLD cache,
    Fixes an issue when loading additional binaries,
    Adds some more information on cross references in the inspector panel,
    Adds a way to restrict searching text only in user comments.

4.7.3 (2021-03-31 18:50:27)

    Improves loading time of big files.

4.7.2 (2021-03-23 18:23:04)

    Improves the detection of some no-return functions,
    Speeds-up the reconstruction of procedures when a signature changes in one of the callees,
    Fixes a few decompilation issues,
    Fixes a crash when the Hopper windows was moved accros multiple screens on some systems,
    Adds methods to create alignment directive from Python scripts,
    Fixes a crash for some Python scripts which were changing some labels names in the document.

4.7.1 (2021-01-23 15:51:43)

    Fixes an issue in the C++ demangler for some symbols,
    Uses theme preferences for the label list,
    Fixes horizontal scrolling issues.

4.7.0 (2020-12-14 16:15:48)

    Fixes some ARMv8.1 instructions.

4.6.3 (2020-12-01 17:10:33)

    Fixes a crash for some elements of the DYLD cache of iOS 14.

4.6.2 (2020-11-12 14:45:10)

    Fixes the debugger which was unable to launch some old binaries.

4.6.1 (2020-11-04 15:59:24)

    Fixes a crash in the decompiler when rewriting conditional expressions.

4.6.0 (2020-11-03 16:15:07)

    First Apple Silicon release,
    Support for AArch64 debugger,
    Support for macOS Big Sur,
    Improves Objective-C metadata parsing,
    Improves DYLD Shared Cache parsing,
    Adds an option to deal with PAC pointers on Apple Silicon binaries,
    Many improvements and fixes.

4.5.29 (2020-06-19 14:13:13)

    Fixes an issue when compiling the SDK examples with the latest Xcode,
    Fixes an issue with the comment editor,
    Improves the import / export sheets in order to better see the results.

4.5.28 (2020-05-13 13:05:34)

    Fixes a hang in the decompiler on methods from classes containing weak ivars.

4.5.26 (2020-05-04 11:12:54)

    Fixes a decompilation issue on ivar,
    Improves HiDPI support on Linux.

4.5.25 (2020-04-30 10:52:31)

    Fixes a drawing issue on some systems,
    Fixes a mistake in the SDK.

4.5.24 (2020-04-17 18:49:07)

    Fixes parsing of Objective-C metadata for binaries targeting the iOS simulator,
    Fixes a crash while navigating small binaries with keyboard,
    Fixes issues with addressing mode decoding of MOS 6502 instructions,
    Added an Oric TAP loader.

4.5.23 (2020-04-06 18:52:22)

    Improves decompilation of ivar access of Objective-C programs,
    Fixes a few issues with controls alignment and dark mode.

4.5.22 (2020-03-16 21:07:37)

    Fixes a crash when one modifies a structure referenced in the assembly,
    Fixes issues when searching hexadecimal values,
    Various dark mode issues.

4.5.21 (2020-02-05 16:46:57)

    More ELF relocation fixes.

4.5.20 (2020-02-04 17:02:09)

    Fixes issues with relocations when loading Linux kernel modules,
    Adds methods to create or remove segments from Python scripts.

4.5.19 (2019-11-19 17:15:44)

    Adds a way to add new segments for representing memory mapped area.

4.5.18 (2019-11-04 15:18:40)

    Fixes a loading issue of iOS 12+ binaries using threaded binding.

4.5.17 (2019-10-25 23:41:07)

    Handles endbr32 and endbr64 instructions,
    Adds a few methods to handle arrays in Python API,
    Improved Mach-O header information,
    Improves command line tool,
    Fixes a crash in the C++ name demangler,
    Fixes a crash on ARM64.

4.5.16 (2019-09-18 13:45:00)

    Adds IPA file loader (note: ciphered IPA taken from the AppStore will still be ciphered, obviously...),
    Fixes an issue with contextual right mouse menu not targeting the right document,
    Fixes memory leaks.

4.5.15 (2019-09-05 12:03:03)

    Fixes an UI issue with right click menu where the target document was not properly selected,
    Improves the C preprocessor, adding directives like #elif,
    Adds parsing of extended Objective-C category fields.

4.5.14 (2019-08-13 17:22:09)

    Adds support for Intel HEX file format,
    Fixes a graphical issue on files with a segment beginning at address 0.

4.5.13 (2019-07-08 15:04:21)

    Fixes a crash when using "po" and "expr" LLDB commands in the debugger panel,
    Fixes an issue when searching numbers after another case insensitive search has been performed,
    Fixes a few issues in the Python API with thumb/ARM identification methods.
    A few minor bugs has been fixed.

4.5.12 (2019-06-21 15:20:41)

    Improves switch / case statement detection for ARM 32bits,
    Adds a way to change operand format options on multiple selection,
    Provides more information about the issue when the debugger cannot be started.

4.5.11 (2019-05-06 14:58:44)

    Fixes an issue in the search feature where results in segments with no sections were not found.

4.5.10 (2019-04-26 18:29:50)

    Improves Swift 5 name demangling,
    Now you can use Swift 5 in order to write Hopper plugins.

4.5.9 (2019-04-03 17:04:45)

    Fixes an issue which prevented some cross references to be properly computed on iOS 12,
    Fixes a deadlock on some binaries.

4.5.8 (2019-03-29 17:58:05)

    Fixes AArch64 32bits disassembler (the CPU variant used in the Apple Watch).

4.5.7 (2019-03-01 17:10:24)

    Fixes a huge slowdown on some big binaries,
    Tweaks the switch hint dialog for ARM.

4.5.6 (2019-02-14 20:48:06)

    Fixes some optimisation issues in ARM64 decompiler.
    Fixes more issues with PDB symbols.

4.5.5 (2019-02-01 18:10:43)

    Fixes loading of some PDB files,
    Fixes a performance issue when drawing text containing a breakpoint.

4.5.4 (2019-01-23 19:12:16)

    Fixes an issue with arrows in the left column not pointing to the correct address while scrolling,
    Allows one to navigate through the search result with arrow keys in the label list.

4.5.3 (2019-01-12 13:52:40)

    Fixes various issues with dark mode on Mojave.

4.5.2 (2018-12-27 13:19:52)

    Fixes a crash in the Windows PE loader.

4.5.1 (2018-12-13 13:15:12)

    Fixes an issue which prevents newly registered customers to upgrade to the full version.

4.5.0 (2018-12-12 13:58:00)

    First version of the application notarized at Apple,
    Better support for environments using Cylance,
    Initial support for the S4 processor of the latest Apple Watch Series 4,
    Fixes a rare crash in the debugger.

4.4.9 (2018-12-03 15:25:27)

    Fixes a compatibility issue with Cylance,
    Fixes an issue where custom debug servers were not properly saved,
    Improve C preprocessor parsing.

4.4.8 (2018-11-21 15:07:41)

    Fixes a decompilation issue where a function call may disappear when used in an empty if / else statement,
    Fixes an issue with the pseudo-code view after a rebase operation,
    Initial support for 8 and 16 bits CPUs (but Intel 16 bits is NOT yet supported),
    Initial support for MOS 6502 / 6510 CPU,
    Initial support for C64 PRG files, and D64 disk images.

4.4.7 (2018-11-13 21:09:39)

    Fixes an issue on some systems with empty windows.

4.4.5 (2018-11-05 16:59:36)

    Fixes a data corruption issue when saving (really) big documents,
    Fixes graphical glitches at segment boundaries,
    Improves detection of float parameters in the decompiler for some system functions.

4.4.4 (2018-10-10 14:37:28)

    Fixes a crash on disassembling files written in Go,
    Fixes the debugger for 32bits executables.

4.4.3 (2018-10-09 17:42:34)

    Fixes small graphical issues,
    Added a way to choose between the light or dark interface independently from the system settings,
    Fixes an issue in the debugger preventing from attaching to the Finder or the Dock.

4.4.2 (2018-10-04 19:41:07)

    Fixes drawing issues introduced in 4.4.0.

4.4.1 (2018-10-03 19:28:51)

    Implements most of the ARMv8.1, ARMv8.2 and ARMv8.3 extensions.

4.4.0 (2018-09-28 23:28:17)

    Dark mode support (macOS Mojave),
    New debugger backend using the LLDB C++ API, instead of the Python API (Xcode 10),
    New graphic engine (macOS Mojave),
    Fix an issue in the sample m68k CPU project (SDK).

4.3.31 (2018-09-14 16:51:03)

    Fixes an issue in the Tool SDK when disassembling instructions,
    Prevents a deadlock with outputting lots of debug messages in the log view,
    Fixes a memory leak in the hexadecimal mode.

4.3.30 (2018-09-01 16:57:29)

    Fixes a bug in the ELF loader regarding ARM relocations,
    Fixes a crash while loading some files from the watchOS 5.0 beta shared DYLD cache.

4.3.29 (2018-08-25 11:28:09)

    Fixes an issue where main screen would be impossible to read in some circumstances. 

4.3.28 (2018-08-13 17:42:43)

    Fixes an issue with x86 segment registers not displayed in some cases,
    Fixes a formatting issue on ARM LDRB/STRB instructions where offsets were truncated.

4.3.27 (2018-08-08 17:15:41)

    Implements most ARM and AArch64 relocation for ELF files,
    Fixes a slowness during the analysis of file containing big BSS sections,
    Fixes function pointer signature editor on Linux. 

4.3.26 (2018-07-13 15:02:01)

    Fixes missing symbols in some ELF executables,
    Improves loading of ELF object files,
    Adds methods to load and save documents from Python,
    Adds a way to launch Python commands from the CLI,
    Some improvements in the SDK for CPU plugins with multiple CPU modes. 

4.3.25 (2018-06-27 20:10:44)

    Slightly improves the ASM analysis,
    Improves enum types handling,
    Fixes an issue in the ARM64 calling convention,
    Fixes an issue in the Windows C++ name demangler,
    Improves command line tool. 

4.3.24 (2018-05-24 17:06:08)

    Fixes the module search path for Python scripts,
    Faster access to labels list in Python scripts. 

4.3.22 (2018-05-16 19:03:48)

    Fixes an issue where some Python scripts were stopped when Hopper was running in background,
    Fixes a typo in decompiled Objective-C methods signatures. 

4.3.21 (2018-05-09 19:59:46)

    Fixes a crash in the decompiler,
    Better automatic ARM / Thumb handling. 

4.3.20 (2018-04-25 16:22:16)

    Fixes an optimization issue in the decompiler,
    Fixes missing labels in pseudo-code,
    Faster pseudo-code export (exporting all procedures is now multithreaded),
    Lowers memory usage during pseudo-code export,
    Decompiled Objective-C methods now have a more easily readable signature. 

4.3.19 (2018-04-20 13:11:14)

    Adds a way to export pseudo-code for a single procedure, or all the procedures,
    Adds a way to export an Objective-C header file, à la class-dump (Objective-C 2 only at the moment)
    Adds a way to declare strings which are not NULL terminated,
    You can now customize the application shortcuts,
    Better ARM prolog detection,
    Fixes some graphical issues on macOS 10.9,
    Fixes multiple issues in the decompiler, 

4.3.18 (2018-03-29 11:13:06)

    Fixes a issue when displaying arrays on a single line,
    Fixes missing types in the SDK 

4.3.17 (2018-03-27 15:23:29)

    Exposes types, and method signatures in the SDK,,
    Adds method to rename registers from Python and the SDK,
    Adds a way to print structs and arrays on a single line,
    Adds a way to import multiple types at once by parsing a C header file,
    Fixes some issues in the decompiler. 

4.3.16 (2018-02-16 18:53:05)

    Adds the ability to change the display format of a selection,
    Adds an option to avoid the DUP keyword,
    Fixes the switch/case pattern based on LDRLS on ARM,
    Adds some functions to the Python API to get access to demangled names. 

4.3.15 (2018-02-11 11:29:40)

    Fixes a compatibility issue with macOS before 10.12. 

4.3.14 (2018-02-09 19:26:01)

    Fixes a crash when moving in a large decompiled function. 

4.3.13 (2018-02-09 18:06:52)

    Improve analysis of ARM64 binaries,
    Improve decompilation of ARM64 binaries,
    Handle some new switch / case construction for ARM64,
    Better handling of ADRP/ADD and ADRP/LDR instruction couples,
    Fixes some issues in the AAPCS implementation,
    Add an option for searching an integer across the file,
    Add the ability to use label names in the assembler. 

4.3.12 (2018-01-12 16:49:53)

    Fixes some crashes when opening some very old HOP files,
    Fixes the "no return" attribute propagation in method signature,
    Adds some methods to the Python API. 

4.3.11 (2017-12-28 18:35:40)

    Fixes an issue with the detection of switch / case on ARM64 which may end in an infinite loop,
    Fixes an issue with rebasing of Mach-O dylib,
    Fixes an issue with some object files generated by NASM,
    Additions to the SDK and the Python API. 

4.3.10 (2017-12-16 10:28:17)

    Fixes the command line tool. 

4.3.9 (2017-12-16 00:54:32)

    Fixed a missing case in the corrupted database issue handling. 

4.3.8 (2017-12-15 23:16:57)

    Fixes a crash which occurs when the "Data Inspector" inspector component is collapsed,
    Fixes a data corruption due to a old database format (fortunately, no data were lost),
    You can extend the popups in the other direction while pressing the Alt key,
    Adds a way to truncate a procedure. 

4.3.7 (2017-11-29 16:12:30)

    Better handling of Windows executables,
    Updates the method signature database for Mac, Linux and Windows,
    Fixes a crash in the search dialog,
    Adds a way to define a method signature for external functions,
    Adds some ARM64 switch / case patterns. 

4.3.6 (2017-11-03 12:03:39)

    Fixes an excessive CPU usage when the window was split with at least one pseudo-code view. 

4.3.5 (2017-11-02 12:23:54)

    Pseudo-code mode can now be synced with other modes,
    Fixes some situations where PIC registers in 32 bits executables were not properly tracked,
    Alt+click can now be used to create split view from many dialogs,
    Various optimisations. 

4.3.4 (2017-10-24 18:08:44)

    Fixes an issue when trying to load an old database from Hopper v2,
    Adds an option to hide columns in the label list,
    Adds an option to hide the toolbar,
    Fixes a deadlock issue during save,
    Fixes a performance issue on ARM files. 

4.3.3 (2017-10-23 12:23:30)

    Fixes decoding operands of MSR/MRS instructions,
    Safer way to save files. 

4.3.2 (2017-10-21 18:00:51)

    Fixes a potential issue with the new preferences system. 

4.3.1 (2017-10-21 10:30:01)

    Fixes an issue with the hex mode on macOS 10.9 

4.3.0 (2017-10-20 16:26:43)

    New analysis engine,
    More information in the label list,
    Better handling of Windows executables,
    Parses exceptions from GCC/Clang and Windows SEH structures,
    Detects more switch / case constructions,
    Fixes Python script execution on Linux,
    Fixes some ARM instruction with floating point operand,
    Fixes an issue where the application would fall back to the demo mode after the computer has been suspended,
    Improves speed on areas with a lot of references,
    Various optimisations. 

4.2.21 (2017-09-28 18:38:03)

    Properly handle the BND prefix. 

4.2.20 (2017-09-26 19:21:10)

    Tweaks the interface for macOS High Sierra,
    Now you can create arrays of arbitrary length by selecting bytes,
    Adds an option to extend the segments, so that it is possible to edit any part of the file. 

4.2.19 (2017-09-22 19:56:28)

    Better handling of MRC/MCR instructions,
    Better decoding os STOS/LODS/INS/OUTS instructions with prefixes,
    Fixes an issue with relocation on ELF files. 

4.2.18 (2017-09-16 16:10:44)

    Fixes a crash in the type editor,
    Fixes an issue with arrays on stack,
    Fixes an issue when setting a switch hint with absolute addresses in a 64 bits executable. 

4.2.17 (2017-09-10 09:07:17)

    Fixes an issue which causes the lost of formatting for some operands 

4.2.16 (2017-09-08 18:20:27)

    Fixes an issue when disassembling some NEON instructions,
    New argument formatting option for addresses relative to another address,
    Fixes an incompatibility with Mavericks. 

4.2.15 (2017-09-01 19:06:08)

    Fixes an excessive usage of RAM when closing a document running a background analysis,
    Loads symbols of dyld shared cache, even when loading the whole mapping,
    Fixes some memory leak,
    Fixes a crash in the debugger,
    Fixes debugger on Mavericks. 

4.2.14 (2017-08-18 23:22:16)

    Fixes an issue preventing loading some HOP files 

4.2.13 (2017-08-17 10:29:43)

    Fixes Mavericks compatibility 

4.2.12 (2017-08-11 17:36:10)

    Optimization of the navigation bar drawing,
    Better handling of external symbols in DYLD shared cache. 

4.2.11 (2017-08-05 14:17:03)

    Complete rewrite of the DYLD shared cache loader,
    Fixes an issue in the debugger when debugging a dylib. 

4.2.10 (2017-07-24 18:45:07)

    Improves information in mach-o headers,
    Adds a new switch hint mode,
    Fixes a deadlock in the debugger. 

4.2.9 (2017-07-11 01:46:10)

    Fixes a formatting issue on TST instruction (ARM64),
    Fixes a database corruption issue in some rare situations,
    Add some new switch / case types,
    Automatically detect some new switch / case constructs. 

4.2.8 (2017-07-07 18:59:14)

    Fixes a decompilation issue due to pointer aliasing,
    Fixes decompilation of TBZ/TBNZ ARM instructions,
    Fixes some issues with Objective-C protocol recognition in the decompiler,
    Now you can define another color for jumping instructions,
    Some additions to the Python API,
    Various small fixes. 

4.2.7 (2017-07-05 17:19:41)

    Better demangling of Swift 4 names,
    Better representation of enums in pseudo-code,
    Fixes some glitches in the navigation bar on small files,
    Fixes an infinite loop in the PowerPC disassembler. 

4.2.6 (2017-06-29 00:49:38)

    Fixes double-click on objects in CFG mode,
    Changes to the HEX mode behaviour. 

4.2.5 (2017-06-27 20:25:25)

    You can move the edges of the CFG, and add/remove control points, using the Cmd key,
    Improves the decompilation of AArch64 binaries (especially ivar access, and strings references),
    Adds a data inspector in the right pane in hex mode,
    Various fixes. 

4.2.3 (2017-06-16 17:46:24)

    Fixes decoding of some STP/LDP AArch64 instructions,
    Fixes some improperly displayed variables,
    Slightly faster loading and saving 

4.2.2 (2017-05-30 15:46:55)

    Fixes the rebasing algorithm for Mach-O files,
    Fixes a hang when opening the contextual menu on files containing invalid Objective-C metadata,
    Fixes a crash in some rare situations when creating a procedure. 

4.2.1 (2017-05-26 08:13:09)

    Fixes a crash after a method signature has been edited. 

4.2.0 (2017-05-24 19:11:43)

    Now you can give a type to a local variable,
    Allows one to name breakpoints,
    Fixes some issues in the decompiler,
    Fixes a crash during the analysis of empty ELF sections 

4.1.5 (2017-04-29 11:44:59)

    Fixes an issue with pointers in the decompiler. 

4.1.4 (2017-04-26 17:15:29)

    Fixes decompilation of SETcc instructions,
    Visual Studio PDB symbols support,
    Get more information on plugins compliance to the SDK,
    Lower memory footprint (around -20%). 

4.1.3 (2017-04-18 23:53:52)

    Fixes multiple issues in the ARM Neon disassembler 

4.1.1 (2017-04-11 15:33:12)

    Add a decompilation option to remove NOPs,
    Fixes an issue where x86 instructions accessing the immediate 0x0 address were improperly displayed,
    Fixes an issue in the decompiler where some Objective-C messages were truncated,
    Fixes multiple issues in the AArch64 decompiler. 

4.1.0 (2017-04-07 17:25:47)

    Fixes issues with some AArch64 instructions,
    Improves PE executable parsing,
    Visual C++ symbol demangling.
    Handles some switch / cases constructions which use indirect tables. 

4.0.35 (2017-03-17 11:17:05)

    Fixes a deadlock in the debugger command panel on interactive command,
    Better handling of some TBB/TBH constructions,
    Fixes a scrolling issue. 

4.0.34 (2017-03-15 11:29:32)

    Fixes a crash on some iOS binaries,
    Fixes missing information on some ARMv8 vector instructions. 

4.0.33 (2017-03-14 12:40:12)

    Fixes the display of some ARM vector instructions,
    Fixes a crash in the Swift demangler,
    Fixes a rare issue where analysis time was very long. 

4.0.32 (2017-03-09 22:19:02)

    Fixes decoding os ARMv8 SIMD instructions,
    Fixes a layout issue in the inspector panel. 

4.0.31 (2017-02-28 15:06:14)

    Fixes some issues in the debugger (bad register values),
    Better handling of Objective-C method signatures,
    Fixes some aesthetic glitches. 

4.0.30 (2017-02-14 16:44:38)

    Fixes disassembly of some ARM64 instructions (csel,fcsel ...),
    Improves ARM64 decompilation of Objective-C code,
    Fixes highlighting when scrolling the document. 

4.0.29 (2017-02-04 10:28:29)

    Fixes some issues in the PPC CPU plugin. 

4.0.28 (2017-02-03 18:26:18)

    Basic PowerPC support (mainly for MachO files),
    Fixes computation of the new tagged CFString addresses on Sierra, and iOS 10,
    Various small graphical glitches have been fixed. 

4.0.27 (2017-02-02 21:02:37)

    Fixes a deadlock in the debugger when setting breakpoints,
    Adds completion to the embedded LLDB console,
    Fixes a problem with the sample m68k CPU plugin in the SDK. 

4.0.26 (2017-01-31 14:39:22)

    Adds binary files to the "Open Recent" menu,
    The "Procedures" tabs now display more information,
    Fixes an issue with dialogs created from Python scripts,
    Fixes various graphical glitches,
    Various optimisations. 

4.0.25 (2017-01-26 19:31:14)

    Fixes an issue with decoding of some ARMv8 instructions containing large immediate value,
    Mach-O headers were not commented anymore. 

4.0.24 (2017-01-19 16:23:15)

    Fixes an issue while updating the application on Sierra. 

4.0.23 (2017-01-18 20:13:21)

    Handles variadic methods using nil sentinel in the decompiler,
    Fixes the display of some ARM instruction using shifter,
    Fixes an issue where a basic block was missing a successor in some very rare cases,
    Adds an option to force the prolog heuristic used to automatically find procedures. 

4.0.22 (2017-01-17 20:27:59)

    Fixes multiple issues during the ARM64 analysis,
    Fixes ADR instruction decoding on ARMv7,
    Fixes some issues when selecting text,
    Smoother scrolling. 

4.0.21 (2017-01-13 12:32:29)

    Faster overall analysis,
    Fixes an analysis issue in the ARMv7 disassembler,
    Fixes dyld iOS shared cache loading,
    Improves 10.9 compatibility. 

4.0.20 (2017-01-07 14:32:41)

    Fixes a crash on ARMv7 

4.0.19 (2017-01-06 22:04:40)

    Fixes handling of IT instructions on ARM Thumb,
    Better decompilation of Objective-C instance variable access,
    Faster decompiler. 

4.0.18 (2016-12-28 20:01:07)

    Faster navigation in big files,
    Fixes an issue where operands of the TEST instructions were swapped,
    Fixes an issue where procedures were not properly created, especially on object files extracted from static libraries,
    Automatically process the "_ustring" section of MachO files. 

4.0.17 (2016-12-22 19:18:10)

    Hopper v4 is now compatible with OS X 10.9,
    Adds a navigation stack explorer to the inspector,
    Fixes an issue in the decompiler where constants were not properly propagated,
    Initial support for remote KDP connection. 

4.0.16 (2016-12-15 19:07:17)

    Allows to remotely debug Windows applications with gdbserver. 

4.0.15 (2016-12-13 18:35:24)

    Fixes a crash in the new Swift demangler. 

4.0.13 (2016-12-11 01:28:00)

    Fixes a crash when switching to the Hex mode in some situations,
    After loading a new file, moves the cursor to the first segment if no entry point was found. 

4.0.12 (2016-12-10 13:57:22)

    Fixes a crash. 

4.0.11 (2016-12-09 12:52:51)

    Adds more Swift demangling (especially class names),
    Adds an option to display the addresses, and the hex column in the CFG mode.
    Moves the control to change ASM syntax directly from the preferences to the inspector,
    Adds methods to the SDK, and the Python API to access local labels, and procedures call graph,
    Fixes an issue with the panel management controls when the window was resized with some panel hidden. 

4.0.10 (2016-12-05 16:16:59)

    Fixes an issue after loading a RAW binary with a non-null file offset,
    Fixes an issue where the inspector formatting capability was not available on some instructions,
    Improves the PLT analysis of ARM binaries,
    Some fixes to the SDK sample CPU plugin. 

4.0.9 (2016-11-30 19:26:35)

    Fixes the behaviour of the inspector, and the contextual menu where structures are defined,
    Fixes the formatting of structure fields,
    Fixes a crash of the decompiler,
    Adds a better syntax colorization to the pseudo-code mode,
    Allows one to navigate between Objective-C method implementations of a given selector,
    Adds small optimizations to the decompiler by removing useless "goto" statements,
    Adds two themes: solarized light, and solarized dark. 

4.0.8 (2016-11-29 14:38:48)

    Fixes the undo / redo feature,
    Fixes issues with AT&T syntax,
    Fixes the behavior of the search feature when searching for text in assembly,
    Adds a way to hide implicit segment registers 

4.0.7 (2016-11-25 18:15:43)

    Fixes MSR / MRS instructions on ARM v7 

4.0.6 (2016-11-23 18:01:40)

    Fixes a crash while demangling some C++ symbols,
    Fixes a weird bug which displayed "lock ret" instead of "ret" on Intel CPU,
    Fixes an issue with autoscroll,
    Remove the extra dollar sign before labels in AT&T syntax 

4.0.5 (2016-11-18 22:37:55)

    Fixes an issue with missing font in assembly view 

4.0.4 (2016-11-18 17:10:59)

    Fixes long time loading UPX compressed files 

4.0.3 (2016-11-18 14:16:25)

    Fixes some crashs on malformed PE, ELF and MachO files,
    Fixes MSR and MRS instructions disassembly (AArch64),
    Fixes text copy in the pseudo-code mode,
    Updates the pseudo-code when the method signature is changed. 

4.0.2 (2016-11-17 17:35:43)

    Fixes an issue with macOS 10.12.1 build 16B2555

4.0.1 (2016-11-17 15:29:48)

    Fixes some crashes

4.0.0 (2016-11-17 12:04:29)

    Welcome to Hopper v4!

    Hopper v4 is a free upgrade for the customers of Hopper v3.

    This update is packed with tons of new features, including:

    - Display modes,
    - Interactive control flow graph,
    - Swift demangler,
    - Enumarated types,
    - A lot faster on many tasks,
    - Local labels,
    - Register renaming,
    - Smart contextual menu,

    More on information at https://www.hopperapp.com/blog/?p=171