-
Notifications
You must be signed in to change notification settings - Fork 0
/
RELEASE_NOTES.html
1619 lines (1619 loc) · 86.5 KB
/
RELEASE_NOTES.html
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
<h1>Scandit SDK 5.9</h1>
<h2>New Features/Performance Improvements</h2>
<ul>
<li>Added Code 32 (Italian Pharma Code) symbology support.</li>
<li>Added EAN-13/UPCA symbology to the barcode generator.</li>
<li>Added beta implementation of advanced overlays for MatrixScan (iOS, Android and Xamarin Native only)</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.9.2 (October 25th 2018)</h2>
<h3>All SDKs</h3>
<ul>
<li>Added parser support for machine readable zones of French national identity cards.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Enable stack protection (-fstack-protector-strong) for iOS binaries.</li>
<li>Temporarily disable motion compensation on the iPhone XS, XS Max and XR to work around issues on these devices.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Fixed a crash in the view based matrix scan sample.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.9.1 (October 12th 2018)</h2>
<h3>Linux</h3>
<ul>
<li>Changed the default maximum number of codes per frame in single frame mode from 9 to 1.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Fixed issues with turning on the torch again after stopping and then restarting the picker.</li>
</ul>
<h3>Xamarin</h3>
<ul>
<li>Added a new property <code>alwaysShowModally</code> which forces the ScanditService to show modally on iOS even if a navigation controller is at the top of the view hierarchy.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.9.0 (September 28th 2018)</h2>
<h3>All SDKs</h3>
<ul>
<li>Improved MatrixScan accuracy in certain corner cases.</li>
<li>Improved scanning performance for QR codes with logos in the center.</li>
<li>Improved scanning performance for QR codes printed on fabric.</li>
<li>Fixed scanning of Databar Expanded codes with an ISO/IEC 646 to numeric encoding transition.</li>
<li>Fixed scanning of DotCodes with synthetic images containing only black and white pixels.</li>
<li>Fixed a rare issue where blurry barcode decoding sometimes stopped working after thousands scans.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Added external ID support for ISVs. </li>
<li>Improved scanning performance on the Verifone Carbon Mobile 5.</li>
<li>Improved auto-focus and auto-exposure for the Huawei Y6 (SLA-L02, SLA-L03 and SLA-L22).</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Added external ID support for ISVs. </li>
<li>Added Barcode generator API for EAN-13, UPCA, Code128, QR and Data Matrix.</li>
<li>Fixed default visibility of the torch button.</li>
</ul>
<h3>Linux</h3>
<ul>
<li>Added Python bindings for the barcode generator API.</li>
<li>Added first plane offset support for all image formats.</li>
<li>Fixed rare runtime symbol collision issues when linking against certain libraries (e.g., libprotobuf).</li>
</ul>
<h3>Cordova</h3>
<ul>
<li>Added <code>setSearchBarKeyboardType()</code> to change the search bar's keyboard to one that allows text input.</li>
</ul>
<h3>Xamarin</h3>
<ul>
<li>Added Parser API to Xamarin.Forms.</li>
</ul>
<h1>Scandit SDK 5.8</h1>
<h2>New Features/Performance Improvements</h2>
<ul>
<li>Barcode generator API for Code128, QR and Data Matrix on the Android platform.</li>
<li>Enabled detection of mirrored Data Matrix codes by default.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.8.2 (August 15th 2018)</h2>
<h3>All SDKs</h3>
<ul>
<li>Important: Fixed a bug in 5.8.1 that required all production customer to have at least an intermittent network connection (once within 6 month of use) to register with our registration services. If you deploy 5.8.1 to an app that has been operating on an internal network without Internet access, the SDK will show an error message. For customers operating on an internal network, we recommend that you either upgrade to 5.8.2 or adjust your firewall to allow an (intermittent) connection to our registration servers.</li>
<li>Fixed automatic mirroring detection for DataMatrix codes.</li>
<li>Improved duplicate filtering for difficult localization cases.</li>
</ul>
<h3>Cordova/PhoneGap</h3>
<ul>
<li>Fixed a problem where search bar related methods did not work on iOS.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.8.1 (July 10th 2018)</h2>
<h3>All SDKs</h3>
<ul>
<li>Return unique results for each frame also when duplicate filtering is disabled.</li>
<li>Fixed duplication of MatrixScan tracks if strong motion is present.</li>
<li>Scans assigned to the wrong MatrixScan track are now forgotten after some time.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Use smoother auto-focus when matrix scan is enabled on the following devices: Samsung Xcover 4, Nokia 6 (2018), Galaxy A5.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.8.0 (June 25th 2018)</h2>
<h3>All SDKs</h3>
<ul>
<li>Reduced initialization time of the scanner when starting it for the first time with certain usage patterns.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Fixed preview cropping and scaling issues for certain Google Glass devices.</li>
<li>Fixed the package naming for the text recognition sample.</li>
<li>Added the LicenseKeyValidationListener to programmatically know if the app key validation failed.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Added the LicenseKeyValidationDelegate to programmatically know if the app key validation failed.</li>
</ul>
<h3>Linux</h3>
<ul>
<li>Added ARM64 architecture support.</li>
<li>Added UYVY frame data support for V4L2 cameras.</li>
<li>Added grayscale frame data support for V4L2 cameras.</li>
<li>Added barcode tracking (MatrixScan) API support.</li>
<li>Added row stride support for RGB, RGBA and Gray images.</li>
</ul>
<h3>Cordova/PhoneGap</h3>
<ul>
<li>Added a callback to get the frame image when a barcode is scanned.</li>
<li>Added a method to programmatically know if the app key validation failed.</li>
<li>Fixed an issue where sometimes the WKWebView thread is blocked indefinitely if the scanner is presented modally and the cordova-plugin-wkwebview-engine plugin is used.</li>
</ul>
<h3>ReactNative</h3>
<ul>
<li>Added a callback to get the frame image when a barcode is scanned.</li>
</ul>
<h3>Xamarin</h3>
<ul>
<li>Added .NET Standard framework to Scandit.BarcodePicker.Unified NuGet package.</li>
</ul>
<h1>Scandit SDK 5.7</h1>
<h2>New Features/Performance Improvements</h2>
<ul>
<li>Added Micro QR symbology support.</li>
<li>Added support for DotCode scanning on cigarette packages.</li>
<li>Added support for inverted Aztec codes.</li>
<li>Improved decoding of QR codes with damaged finder patterns.</li>
<li>Improved decoding of low-contrast (e.g., black bars on red background) codes.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.7.3 (June 15th 2018)</h2>
<h3>All SDKs</h3>
<ul>
<li>Reduced initialization time of the scanner when starting it for the first time with certain usage patterns.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.7.2 (April 18th 2018)</h2>
<h3>Android</h3>
<ul>
<li>Fixed initializing the code duplicate filter setting using a JSON configuration file. This issue was introduced in 5.7.0 and limited the code duplicate filter to 0.5s on Cordova/Phonegap.</li>
</ul>
<h3>Cordova/PhoneGap</h3>
<ul>
<li>Fixed the plugin to work with secondary webviews on top of the main webview.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.7.1 (April 6th 2018)</h2>
<h3>All SDKs</h3>
<ul>
<li>Fixed a rare out-of-bounds access in the QR code reader.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Fixed auto-focus issues that affected certain Samsung Galaxy S8 firmware versions.</li>
</ul>
<h3>Cordova/PhoneGap</h3>
<ul>
<li>Fixed scan case for iOS.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.7.0 (March 23th 2018)</h2>
<h3>All SDKs</h3>
<ul>
<li>Improved location highlighting accuracy.</li>
<li>Improved decoding of blurry Code 39 codes with a bar ratio of 1 to 2.</li>
<li>Improved decoding of low contrast PDF417 and MicroPDF417 codes.</li>
<li>DL/ID parser: fix an issue that caused the two-letter state code to be left out of the unified address field for North Carolina.</li>
<li>Added support for DataBar bar patterns that do not comply with the specification.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Improved scan case scanning capabilities.</li>
<li>Added additional scan case settings methods specifically for Matrix Scan in downward facing mode.</li>
<li>Improved auto-focus for the Samsung Galaxy S9 (SM-G960) and S9+ (SM-G965).</li>
<li>Improved auto-focus for the Samsung Galaxy A8 (SM-A530) and A8+ (SM-A730).</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Fixed an issue that could cause a preview resolution change to take a very long time.</li>
<li>Fixed an issue that could cause the torch button to not show up after switching camera.</li>
<li>Added SBSSymbologyFromString() function to convert a symbology string to its corresponding symbology enum.</li>
<li>The <code>switchCamera</code> property can be observed via the property observer.</li>
<li>In Swift, <code>add(propertyObserver:)</code> and <code>remove(propertyObserver:)</code> have been renamed to <code>addPropertyObserver(_:)</code> and <code>removePropertyObserver(_:)</code> to compensate for weak type information.</li>
<li>Added a separate property to configure the 2d scan area for the scan case.</li>
</ul>
<h3>Windows</h3>
<ul>
<li>Added <code>LOCATIONS_ONLY</code> GUI style.</li>
</ul>
<h3>Cordova/PhoneGap</h3>
<ul>
<li>Added <code>setTimeout()</code> function to ScanCase.</li>
<li>Added <code>scanBeepEnabled()</code> function to ScanCase.</li>
<li>Added <code>errorSoundEnabled()</code> function to ScanCase.</li>
<li>Added <code>setMatrixScanHighlightingColor()</code> function to ScanOverlay.</li>
<li>Improved MatrixScan performance by not serializing barcodes if the didScan callback is not defined.</li>
</ul>
<h3>Linux</h3>
<ul>
<li>Removed the OpenMP dependency for x86 architectures to increase portability.</li>
<li>Fixed libscanditsdk.so compatibility issues when linking against different libstdc++ versions.</li>
</ul>
<h3>Titanium</h3>
<ul>
<li>Introduced a new build for Titanium 7 on Android, it is identified with <code>titanium7</code> on the dashboard. The build for Titanium 6 remains, marked with <code>titanium6</code>, but is now only usable for Titanium 6.2+. Older versions of Titanium are no longer supported.</li>
</ul>
<h1>Scandit SDK 5.6</h1>
<h2>New Features/Performance Improvements</h2>
<ul>
<li>Up to 50% faster frame processing through a better multi-threading implementation if many 1d and 2d symbologies are enabled.</li>
<li>Added all four types of Machine Readable Travel Documents (MRTD) specified by the International Civil Aviation Organization (ICAO) to the Scandit Parsing Library to support the decoding of MRZ zones on ID documents with OCR.</li>
<li>Added support to parse the Swiss QR payment codes (QR-Rechnung) to the Scandit Parsing Library.</li>
<li>Improved scanning performance for large QR codes.</li>
<li>Improved location highlighting accuracy.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.6.3 (March 13th 2018)</h2>
<h3>iOS</h3>
<ul>
<li>Fixed a retain cycle in the Scan Case API.</li>
</ul>
<h3>Titanium</h3>
<ul>
<li>Fix an issue with Titanium Android that caused the license validation to fail with Error 257, even if the MatrixScan feature was not used.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.6.2 (February 12th 2018)</h2>
<h3>Android</h3>
<ul>
<li>Fix an issue that could cause didScan to be invoked twice when using the simultaneous barcode+text mode.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Avoid calling property observers if the value is NaN.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.6.1 (January 26th 2018)</h2>
<h3>Windows</h3>
<ul>
<li>Remove use of GetModuleFileNameA that caused app validation for Windows 8.1 Store Apps to fail.</li>
<li>Further fixes for 'Unable to start video capture: The given key was not present in the dictionary' error on latest Windows 10 versions.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.6.0 (January 8th 2018)</h2>
<h3>All SDKs</h3>
<ul>
<li>Exposed the property change observer (torch, recognition mode, zoom) on Xamarin Native and Cordova.</li>
<li>Fixed rare incorrect Code39 reads when codes are very small and blurry.</li>
<li>Added option to the GS1 AI parser to handle human readable GS1 AI strings</li>
<li>Added option to the GS1 AI parser to include the human readable GS1 AI string in the parser output.</li>
<li>The parser's fieldsArray has been renamed to fields and fieldsDict/fieldsMap to fieldsByName. The old methods are deprecated but still available.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Armeabi (ARMv5) support has been dropped. Google officially deprecated armeabi builds starting with the Android NDK r15 (July 2017). You should use an older version of the SDK if you still require it.</li>
<li>Improved MatrixScan animation responsiveness and accuracy.</li>
<li>Added case mode support.</li>
<li>Added support for ARGB image format.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Fixed an issue that caused the zoom factor not to properly reset after the application has been put into the background.</li>
<li>Added support for ARGB image format.</li>
<li>Fixed an issue that caused text recognition (OCR) to stop working upon changing the preview resolution.</li>
</ul>
<h3>Linux</h3>
<ul>
<li>Added support for ARGB image format.</li>
</ul>
<h3>Windows</h3>
<ul>
<li>Added an interface to check if a barcode is color inverted.</li>
<li>Fixed 'Unable to start video capture: The given key was not present in the dictionary' error on latest Windows 10 versions.</li>
</ul>
<h3>Cordova/PhoneGap</h3>
<ul>
<li>The plugin now also works with cordova-android 7+</li>
</ul>
<h3>ReactNative</h3>
<ul>
<li>Orientation changes under Android are supported.</li>
<li>The torch and camera buttons have been added.</li>
<li>The scanning hot spot and restricting the active scanning area have been added.</li>
<li>Added MatrixScan.</li>
</ul>
<h3>Titanium</h3>
<ul>
<li>Removed support for Titanium 5.x. If you can not update to Titanium 6.x use the SDK versions 4.16 or 5.5.</li>
</ul>
<h1>Scandit SDK 5.5</h1>
<h2>New Features/Performance Improvements</h2>
<ul>
<li>ReactNative support for iOS and Android. The plugin source can be found on Github: https://github.com/Scandit/barcodescanner-sdk-react-native</li>
<li>Initial GS1 DotCode symbology support as defined in the AIM Specification Revision 3.0.</li>
<li>Improved support for recognizing DataMatrix codes. In particular, reading of large codes with perspective and non-linear distortions has been greatly improved. In addition, a new direct part marking (DPM) mode has been added that can be used to scan codes engraved or etched into metal. The DPM mode is off by default and must be configured by enabling the direct_part_marking_mode extension.</li>
<li>Improved MatrixScan performance for 2D codes and use-cases that require a very high resolution.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.5.2 (December 7th 2017)</h2>
<h3>Android</h3>
<ul>
<li>Fix an issue on devices with armv5 that causes loading of the barcode scanner library to fail due to undefined references to <code>__atomic_fetch_add_4</code>.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.5.1 (November 7th 2017)</h2>
<h3>All SDKs</h3>
<ul>
<li>Fixed a rare issue with the QR code decoder.</li>
<li>Scan in the default scan area in every frame when in single frame mode.</li>
<li>Improved matrix scan performance for Data Matrix and other 2d symbologies.</li>
<li>Fixed a rare issue that made the scanner unresponsive after several scans.</li>
</ul>
<h3>Cordova/PhoneGap</h3>
<ul>
<li>Added <code>volumeButtonToScanEnabled</code> in <code>ScanCase</code> for enabling/disabling the start scanner when volume button is pressed behavior.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.5.0 (October 17th 2017)</h2>
<h3>Low-Level API/Linux</h3>
<ul>
<li>Added functionality to convert symbology name strings to the corresponding enum value.</li>
<li>Added SIGINT handling to the Linux camera sample.</li>
<li>Fixed missing error handling in sc_camera_get_frame.</li>
</ul>
<h3>Android</h3>
<ul>
<li>BarcodePicker now has constructors for view inflation.</li>
<li>Fixed dark preview images on Honeywell ScanPal EDA50 devices.</li>
<li>Added an interface to check if a barcode is color inverted.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Fix issue introduced in 5.4 that caused the auto-focus to get stuck after a tap-to-focus event on some devices.</li>
<li>Added an interface to check if a barcode is color inverted.</li>
</ul>
<h3>Xamarin</h3>
<ul>
<li>Added option to restrict the orientation of the picker in Xamarin unified.</li>
</ul>
<h1>Scandit SDK 5.4</h1>
<h2>New Features/Performance Improvements</h2>
<ul>
<li>Added text recognition (OCR) functionality to provide additional data capture capabilities. This functionality is available on iOS, Android, Xamarin and Cordova/Phonegap. It is not integrated in the default build. Contact [email protected] if you want to try it out, or visit <a href="https://www.scandit.com/products/barcode-scanner/details/">scandit.com</a> for more information.</li>
<li>Improved tolerance for non-conformant PDF417 start and end patterns and added support for codes with a missing or unreadable start pattern.</li>
<li>Added MatrixScan support for Xamarin Native Android and iOS.</li>
<li>Added MatrixScan support for Cordova Android and iOS.</li>
<li>Added quiet zone violation support for QR codes.</li>
<li>Improved angle tolerance of the blurry reader.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.4.2 (September 13th 2017)</h2>
<h3>Android</h3>
<ul>
<li>Improved auto-focus and auto-exposure for the Samsung Galaxy S8 active (SM-G892) and a Samsung Galaxy S8 model (SM-G950U).</li>
</ul>
<h3>Cordova/PhoneGap</h3>
<ul>
<li>Fixed a rare null pointer exception on Android.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.4.1 (September 1st 2017)</h2>
<h3>All SDKs</h3>
<ul>
<li>Increased tolerance for Codabar intersymbol gaps.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Improved auto-focus and auto-exposure for a Samsung Galaxy S5 model (SAMSUNG-SM-G900) and the Samsung Galaxy Note8.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Scan case: Added support for configuring the height of the scanning area.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.4.0 (August 17th 2017)</h2>
<h3>All SDKs</h3>
<ul>
<li>Improved decoding performance of Code 128 with severe ink-spread.</li>
<li>Fixed an off-by-one error in analytics that could lead to an Error 6.</li>
<li>Added optional mod 16 and mod 11 checksums to Codabar.</li>
<li>The "MissingCameraPermissionInfoText" is now translatable on iOS, Android and Cordova.</li>
<li>Fixed regression of scanning performance for QR codes with small quiet zone violations introduced in Scandit SDK 5.3.0.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Improved auto-focus and auto-exposure for Samsung Galaxy S8.</li>
<li>Added x86_64 builds. Feel free to delete them if the library size is critical.</li>
<li>Added a MatrixScan guide to the documentation.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Added <code>setViewfinderWidth:height:landscapeWidth:landscapeHeight</code> to <code>SBSOverlayController</code>. The <code>setViewfinderHeight:width:landscapeHeight:landscapeWidth</code> method has been marked deprecated.</li>
<li>Stopping the camera will now reset the focus and the exposure.</li>
<li>Fixed an issue that may cause the preview to either stay black or display a static frame when opening and stopping the picker in quick succession.</li>
<li>The method <code>property:changedToValue:</code> in the <code>SBSPropertyObserver</code> protocol has been updated to <code>barcodePicker:property:changedToValue:</code>.</li>
<li>Scan case: state changes made in the didInitialize delegate method are now no longer ignored.</li>
<li><code>[SBSScanSettings pre47DefaultSettings]</code> has been deprecated. Instead the required symbologies should be enabled individually.</li>
<li>Fixed an issue that may cause the scanner to process a few more frames while the app is in the background.</li>
<li>Fixed an issue that may cause the exposure adjustment to get stuck.</li>
<li>Added a MatrixScan guide to the documentation.</li>
<li>Fixed an issue that may cause the application to crash in SCUserLocationManager</li>
<li>When using <code>SBSGuiStyleLocationsOnly</code> or <code>SBSGuiStyleNone</code>, the logo can now be moved with <code>setViewfinderWidth:height:landscapeWidth:landscapeHeight:</code></li>
</ul>
<h3>Linux</h3>
<ul>
<li>Added Python 3 bindings and a Python sample app.</li>
<li>Enabled GPU support for low-end Linux devices (e.g., Raspberry Pi models 0 and 3).</li>
<li>Fixed "this function declaration is not a prototype" warnings in the header files.</li>
<li>Added a barcode scanner preset to configure single frame mode use-cases.</li>
</ul>
<h3>Windows</h3>
<ul>
<li>The Windows NuGet package for Scandit.Recognition now includes support for C. Code targeting Windows Desktop (x86, x64) can directly use the C/C++ API of the Scandit SDK. This feature is not available for UWP/Windows Store apps.</li>
</ul>
<h3>Cordova/PhoneGap</h3>
<ul>
<li>Added a new UI locations-only UI mode. This UI mode is identical to None, with the difference that barcode locations are highlighted.</li>
<li>Added a matrix scan sample app.</li>
</ul>
<h3>Xamarin</h3>
<ul>
<li>Added a new UI locations-only UI mode. This UI mode is identical to None, with the difference that barcode locations are highlighted.</li>
<li>Xamarin.iOS: Fixed an issue with image to picker coordinate conversion that caused all converted coordinates to be zero.</li>
<li>Xamarin.iOS and Xamarin.Android: Added a matrix scan sample app.</li>
</ul>
<h1>Scandit SDK 5.3</h1>
<h2>New Features/Performance Improvements</h2>
<ul>
<li>Improved PDF417 scan range and handling of codes with glare and defects.</li>
<li>Added blurry decoding of MSI Plessey barcodes that use a check digit. The maximum decode range improved up to 65% (device dependent).</li>
<li>Improved scanning performance and increased angle and non-planarity tolerance for large QR codes.</li>
<li>Important: As announced in the 5.0 release notes, APIs deprecated during the 4.x release cycle have been removed. You will have to update your applications to use the new APIs provided on the different platforms:</li>
<li>ScanditSDKBarcodePicker on Android and iOS has been removed. Please update your application to use SBSBarcodePicker (iOS), or BarcodePicker (Android).</li>
<li>cordova.exec-based API for Cordova/Phonegap has been removed. Please update your app to use the BarcodePicker API.</li>
<li>ScanditSDK.* API for Xamarin has been removed. Please update your app to use the BarcodePicker API for iOS and Android.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.3.4 (July 25th 2017)</h2>
<h3>Android</h3>
<ul>
<li>Fixed focus issues on selected Samsung Galaxy S7 devices (SM-G930P, SM-G935P, SM-G930A and SM-G935A).</li>
</ul>
<h3>Cordova/PhoneGap</h3>
<ul>
<li>Fixed an issue that would cause the callbacks to not run synchronously on the engine thread, making it impossible to reject codes.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.3.3 (June 27th 2017)</h2>
<h3>Android</h3>
<ul>
<li>Fixed regression that broke scanning on the Samsung Galaxy Y.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Fixed a retain cycle in <code>SBSScanCase</code> introduced in 5.3.1.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.3.2 (June 22th 2017)</h2>
<h3>Android</h3>
<ul>
<li>Fixed a regression introduced in 5.3.0 that broke scanning on the Samsung J3, S4 and the Vuzix M100.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.3.1 (June 15th 2017)</h2>
<h3>All SDKs</h3>
<ul>
<li>Fixed incorrect symbol count computation for MSI Plessey when blurry decoding was used.</li>
<li>Fixed decoding issues for QR codes with module sizes between one and two pixels.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Fixed focus issues on Samsung Galaxy S5 running Android 6.0 or newer.</li>
<li>Fixed focus issues on selected Samsung Galaxy S7 devices (SM-G930V, SM-G935V, SM-G930T and SM-G935T).</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Scan case: expose a new option to control the duration for which the scanner should remain in active state after the volume button has been released.</li>
<li>Added a module map: it is now possible to use our SDK from Swift without a bridging header, by just using <code>import ScanditBarcodeScanner</code>.</li>
</ul>
<h3>Windows</h3>
<ul>
<li>Fix issue in UTF-8 conversion for codes that use more than one encoding.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.3.0 (May 26th 2017)</h2>
<h3>All SDKs</h3>
<ul>
<li>Updated the DataBar GS1 AI definitions to the GS1 General Specification version 17.0.1.</li>
<li>Added support to disable the Code11 checksum.</li>
<li>Added support for inverse coloured Code128 codes (white code on black background).</li>
<li>Fixed a rare segmentation fault in handling of analytics responses.</li>
<li>The stripping of leading FNC1 characters in GS1 Code128 and DataMatrix codes can now be configured through a symbology extension (strip_leading_fnc1).</li>
</ul>
<h3>Android</h3>
<ul>
<li>Added a new UI locations-only UI mode. This UI mode is identical to None, with the difference that barcode locations are highlighted.</li>
<li>The locations-only, and None UI modes now display a "scanning by Scandit" logo.</li>
<li>Fixed issue on Vuzix M100 that caused the first processed frame to take a very long time.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Added a new UI locations-only UI mode. This UI mode is identical to None, with the difference that barcode locations are highlighted.</li>
<li>The locations-only and None UI modes now display a "scanning by Scandit" logo.</li>
</ul>
<h3>Cordova/PhoneGap</h3>
<ul>
<li>Added support for Apache Cordova 7.0.0.</li>
</ul>
<h3>Xamarin</h3>
<ul>
<li>The picker of the unified API on Android now supports device rotation and no longer restarts the activity.</li>
</ul>
<h1>Scandit SDK 5.2</h1>
<h2>New Features/Performance Improvements</h2>
<ul>
<li>The new MatrixScan feature enables multi barcode scanning and tracking of 1d symbologies on Android and iOS.</li>
<li>New PDF417 reader implementation with an improved rotation and pitch tolerance and erasure support.</li>
<li>Improved highlighting accuracy for 1d barcodes that are localized or scanned.</li>
<li>As announced in the 5.0 release notes, the following APIs will be removed in the upcoming 5.3 release:</li>
<li>ScanditSDKBarcodePicker on Android and iOS</li>
<li>cordova.exec-based API for Cordova/Phonegap.</li>
<li>ScanditSDK.* API for Xamarin</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.2.1 (April 21th 2017)</h2>
<h3>All SDKs</h3>
<ul>
<li>Fix issue with highlighting of Postal Code symbologies introduced in 5.2.0.</li>
</ul>
<h3>Cordova/Phonegap</h3>
<ul>
<li>Android: Fix a rare race condition that could cause the app to hang while stopping the scanner.</li>
</ul>
<h3>Linux</h3>
<ul>
<li>Fixed loading of images with indexed colors and non 8bit color depth in the C API sample.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.2.0 (April 4th 2017)</h2>
<h3>All SDKs</h3>
<ul>
<li>Add support for MicroPDF417 Macro character encodings.</li>
<li>MaxiCode support for the case.</li>
<li>Default scan locations without a barcode are no longer added to the scan session.</li>
<li>Fixed a regression in Code 128 decoding performance for badly printed codes (introduced in 4.14).</li>
<li>Fixed incorrect handling of invalid Extended Channel Interpretations (ECI).</li>
<li>Improved recognition of Code 128 barcodes with printing errors.</li>
<li>Increase performance in case only 2d barcode symbologies are enabled.</li>
<li>Added relaxed sharp quiet zone check symbology extension (relaxed_sharp_quiet_zone_check) support for UPCA, EAN13 and EAN8.</li>
<li>Improved scan speed for barcodes that are placed very close to each other vertically on a label.</li>
<li>Improved the recognition of large QR codes.</li>
<li>We no longer produce false positive Aztec results when scanning codes with a close-to-zero percentage of error code words.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Library is once again Java 6 compatible.</li>
<li>Deprecated getMicroDataMatrixEnabled/setMicroDataMatrixEnabled. This setting no longer has any effect and can be safely removed from the code.</li>
<li>Galaxy J3: Improve exposure behavior for low-light conditions.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Fix a bug that caused SBSScanSession stopScanning not to work when called in didProcessFrame.</li>
<li>Fix an issue that caused an invalid license message to be displayed, even though the app key was set.</li>
<li>Added nullability annotations to SBSScanCaseDelegate.</li>
<li>In Swift all symbologies are now lower camel case.</li>
</ul>
<h3>Cordova/Phonegap</h3>
<ul>
<li>Fix issue with settings maxNumberOfCodesPerFrame to values larger than one (iOS only).</li>
</ul>
<h3>Titanium</h3>
<ul>
<li>Added function to set relative zoom.</li>
<li>Added function to set high density mode.</li>
<li>Reverted Android symbology names to their proper format.</li>
<li>Published an extended sample application on <a href="https://github.com/Scandit/barcodescanner-sdk-titanium-samples">GitHub</a>.</li>
</ul>
<h1>Scandit SDK 5.1</h1>
<h2>New Features/Performance Improvements</h2>
<ul>
<li>Improved blurry scan performance for a wide range of Android devices, for example the Samsung Galaxy A5 and J5 devices.</li>
<li>Improved off center Aztec scan performance.</li>
<li>The Aztec error correction can now handle codes that are damaged by dirt or small scale glare and codes that are partially outside of the camera image.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.1.1 (February 17th 2017)</h2>
<h3>All SDKs</h3>
<ul>
<li>Improve support for variable-size Codabar inter-character gaps.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Improve auto-focus and auto-exposure for Galaxy S7 Active.</li>
<li>Improve auto-focus for Sony Xperia Z5.</li>
<li>Fixed an issue that caused a degradation in scan performance when changing the scan settings while the camera is already running.</li>
</ul>
<h3>Titanium</h3>
<ul>
<li>Adjusted the behavior of stopScanning to match across platforms.</li>
<li>Fixed the drawViewfinder function on iOS.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.1.0 (January 13th 2017)</h2>
<h3>All SDKs</h3>
<ul>
<li>Minor behaviour change: If the EAN13 symbology is enabled, then UPCA codes are scanned too. The codes are returned as a 13 digit EAN13 code. Prior to 5.1 UPCA had to be enabled explicitly.</li>
<li>Improved erasure correction for PDF417 and MicroPDF417.</li>
<li>Removed tiny QR and tiny DataMatrix modes. Enabling these modes is still safe, but will have no effect. It might be necessary to adapt the zoom value in case of performance regressions.</li>
<li>Improved accuracy of localized barcode bounding boxes.</li>
<li>Fix an issue in the QR reader that can cause frame processing to take forever.</li>
<li>Fix incorrect UTF-8 conversion of UPCE codes in UPCA representation.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Fix choppy camera preview on Samsung Galaxy J3.</li>
<li>Fix an issue that caused the camera switch button to flicker when turning the torch on.</li>
<li>Fix an inconsistency between how the torch behaves on Android and iOS. Previous to this change, the torch would be enabled when enabling the torch and switching from rear (back) to front camera and back. Now the torch is off when returning to the rear camera.</li>
<li>We no longer require a camera restart when enabling the torch.</li>
<li>Added support for optimizing the scan performance for vertical codes.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Added support for optimizing the scan performance for vertical codes.</li>
<li>Fix an inconsistency in naming of setTorchOffImage and setTorchOnImage in Swift.</li>
<li>Improve swift types for <code>[SBSScanSettings settingsWithDictionary:error:]</code>.</li>
<li>Added method to create a SBSScanCaseSettings instance from an NSDictionary.</li>
</ul>
<h3>Windows</h3>
<ul>
<li>Scandit.Recognition can now be used with Windows Desktop applications.</li>
<li>Added character encoding information of raw barcode data to the public API.</li>
<li>Added automatic barcode data conversion from non-ASCII characters to UTF-8. E.g. for QR codes in Kanji mode.</li>
<li>Added optional support for GPU acceleration through ANGLE. Requires the ANGLE UWP NuGet package version 2.1.13 or newer. This feature is currently not supported for Windows 8.1.</li>
</ul>
<h3>Titanium</h3>
<ul>
<li>Fix a bug in setViewfinderSize on iOS, which caused the new size not to be applied correctly.</li>
<li>Add missing implementation for setCameraSwitchButtonMarginsAndSize and setTorchButtonMarginsAndSize on Android.</li>
<li>Add missing implementation for setReverseDetectionEnabled on Android.</li>
<li>Added scan case API support on iOS.</li>
</ul>
<h1>Linux</h1>
<ul>
<li>Fix rare deadlock on SDK deallocation.</li>
</ul>
<h1>Scandit SDK 5.0</h1>
<h2>Important Changes</h2>
<ul>
<li>Support for iOS 6.0 and iOS 7.0 has been dropped. The minimal deployment target is now iOS 8.0.</li>
<li>As part of the 5.x release cycle, we will remove some of the APIs deprecated during the 4.x releases. You will have to update your applications to use the new APIs, The deprecated APIs remain available in 5.0, 5.1 and 5.2 but will be completely removed in 5.3. These APIs include:</li>
<li>ScanditSDKBarcodePicker on Android and iOS</li>
<li>cordova.exec-based API for Cordova/Phonegap.</li>
<li>ScanditSDK.* API for Xamarin</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.0.1 (December 1st 2016)</h2>
<h3>Android</h3>
<ul>
<li>Improved 1D barcode decode range and scan speed on Motorola G3, G4 and G4 Plus. The scanning distance of a 10mil EAN13 code using the 4G Plus increased from 6-30cm to 4-45cm.</li>
</ul>
<h3>Windows</h3>
<ul>
<li>Fixed issue that caused camera initialization to fail on devices with the latest Windows 10 installed.</li>
</ul>
<h3>Titanium</h3>
<ul>
<li>Increased the api level of the modules to be compatible with SDK version 6.0.0.</li>
</ul>
<h3>Xamarin</h3>
<ul>
<li>Add missing framework dependencies for iOS.</li>
<li>Implement Pinch to zoom for iOS, Android and Unified.</li>
<li>Fixed vibrate permission in the Unified Extended Sample app.</li>
<li>Fixed disabling the restricted scan area in the Unified Extended Sample app.</li>
<li>Enable AutoFocusOnTapEnabled by default in Unified (only works on iOS)</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 5.0.0 (October 27th 2016)</h2>
<h3>All SDKs</h3>
<ul>
<li>Starting with 5.0 the low-level API function sc_barcode_get_data() no longer returns the UTF-8 representation of the data. Instead the raw string, as it is encoded in the code, is returned. Most symbologies, especially all 1d symbologies, are not affected by this change. This fixes an issue with binary-encoded PDF417 codes that can not be represented as UTF-8.</li>
<li>The encoding of individual data sections can now be queried using sc_barcode_get_data_encoding().</li>
<li>Fixed a decoder bug in Aztec when switching encoding modes.</li>
<li>Fixed defect error correction of Aztec code parameter data.</li>
<li>iOS and Android barcode picker API: Added a new interface for controlling the areas in which barcodes and 2d codes are scanned. This interface allows to separately control the scan areas for wide (linear 1d, PDF417, MicroPDF417 etc.) and square codes (QR, Aztec, Data Matrix etc.).</li>
</ul>
<h3>Android</h3>
<ul>
<li>Added conversion to UTF-8 for non ASCII encodings. This fixes the display of (Micro)PDF417 codes with ECI data and QR codes in Kanji or Hanzi mode.</li>
<li>Fixed scanning area restriction issues on devices with non-landscape camera sensor orientation.</li>
<li>Improved camera configuration parameters on Google Glass.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Swift-er SDK: in order to improve the experience of working with Swift, some methods of <code>SBSOverlayController</code> have been renamed. As a consequence, Swift code using these methods needs to be updated, anyway the compiler should automatically suggest the new names. Please note that this change will not break your Objective-C code.</li>
<li>The minimal supported iOS version has been raised to 8.0, which is the minimum iOS version supported by Xcode 8.</li>
<li>Update sample projects to be compatible with Xcode 8. Support for Xcode 7 has been removed.</li>
</ul>
<h3>Cordova/Phonegap</h3>
<ul>
<li>Fix preview size of subview picker on Android when the phone is put to sleep in landscape orientation and woken up again in portrait.</li>
</ul>
<h3>Xamarin</h3>
<ul>
<li>Added an extended sample app.</li>
<li>Added Windows support for Xamarin Forms.</li>
</ul>
<h1>Scandit SDK 4.16</h1>
<h2>New Features/Performance Improvements</h2>
<ul>
<li>Improved speed and accuracy of barcode localization for all 1d and 2d symbologies. In addition to these symbology-independent improvements, 1d barcodes with a very large height to width aspect ratio are localized much more reliably. Moreover, the localization of MicroPDF417 codes has been improved as well. MicroPDF417 codes are used as part of GS1 composite codes A and B. As a result, these composite codes can now be scanned much more quickly.</li>
<li>Added support for two postal code symbologies: RM4SCC (Royal Mail 4 State Customer Code) and KIX (Klant Index).</li>
<li>Added a unified Xamarin API suitable to be used together with Xamarin Forms. By using this API, the same code can be used for platforms targeting iOS, Android.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 4.16.4 (October 25th 2016)</h2>
<h3>All SDKs</h3>
<ul>
<li>Fixed a rare invalid memory allocation in the blurry reader introduced in 4.16.0.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Fixed scanning area restriction issues on devices with non-landscape camera sensor orientation.</li>
</ul>
<h3>Cordova/Phonegap</h3>
<ul>
<li>Accept UPCA and UPC12 as a symbology enum with the same value.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 4.16.3 (October 17th 2016)</h2>
<h3>All SDKs</h3>
<ul>
<li>Fixed a rare crash in the blurry reader introduced in 4.16.0.</li>
<li>Fixed a rare crash in the sharp reader.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Fixed a rare camera-related crash on Android</li>
</ul>
<h3>Xamarin</h3>
<ul>
<li>The iOS sample now includes a NSCameraUsageDescription. This is required when targeting iOS 10 and newer, as otherwise the camera requests fail at runtime.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 4.16.2 (September 26th, 2016)</h2>
<h3>All SDKs</h3>
<ul>
<li>Fixed two rare integer underflows in the blurry reader introduced in 4.16.0.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 4.16.1 (September 13th, 2016)</h2>
<h3>All SDKs</h3>
<ul>
<li>Accept Code39 inter symbol gaps that are up to 6 units wide.</li>
<li>Allow more than six codes per frame to be scanned.</li>
<li>Add support for scanning PDF417 and MicroPDF417 codes with the scan case (iOS, Phonegap iOS and Xamarin iOS).</li>
</ul>
<h3>Low-Level API/Linux</h3>
<ul>
<li>Add functionality to retrieve software license strings.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Improve auto-focus performance for Moto G4 and Moto G4 plus.</li>
<li>Improve auto-focus performance for Galaxy Note 5.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 4.16.0 (31st of August 2016)</h2>
<h3>All SDKs</h3>
<ul>
<li>New unified SDK build type that can be customized through the license key.</li>
<li>Fixed partial code reads of blurry Code39 codes.</li>
<li>Fixed an issue that caused the new code rejection feature to fail when the session was cleared in the didScan callback.</li>
<li>Picker API's: PDF417 codes are now affected by the scanning area height, even if the scanning area height is very small. Previously, the scanning area height would only affect the area in which PDF417 codes are scanned if it was larger than 0.1.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Fix auto-focus issues with Nexus 4.</li>
<li>Fix issue that caused the process frame listener not to be called under certain circumstances.</li>
<li>Fix a potential race condition in setting/reading the license key from different threads.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Add <code>resumeScanningWithCompletionHandler:</code>, <code>pauseScanningWithCompletionHandler:</code> which accept a block to be invoked when the asynchronous operation finishes.</li>
<li>Use lightweight generics for all public methods and properties that use NSSet, NSDictionary and NSArray. For example, the newlyRecognizedCodes array of SBSScanSession is now marked to only contain SBSCode instances. This is a breaking change for Swift: Code that was previously checking the type no longer has to do so.</li>
<li>Cleanup layout of the extended sample app.</li>
</ul>
<h3>Linux</h3>
<ul>
<li>Enabled GPU support for Linux x86 and x86_64.</li>
<li>Added a function to get the currently enabled extensions for a particular symbology.</li>
</ul>
<h3>Windows</h3>
<ul>
<li>Fixed race-condition in the initialization of the barcode picker that caused a crash.</li>
<li>Fixed issue that caused camera initialization to fail on devices with the latest Windows 10 installed.</li>
<li>Add support for using the barcode scanner SDK with Microsoft HoloLens</li>
</ul>
<h3>Cordova/Phonegap</h3>
<ul>
<li>The barcode scanner plugin now includes a NSCameraUsageDescription. This is required when targeting iOS 10 and newer, as otherwise the camera requests fail at runtime.</li>
<li>Fix an issue in the extended sample app that caused the continue button to be shown when it shouldn't, e.g. when pressing the home tab button when already on the home tab.</li>
<li>Fix issue with turning on the torch programmatically before or immediately after calling startScanning.</li>
</ul>
<h3>Xamarin</h3>
<ul>
<li>Added NuGet package support.</li>
<li>Added Scan Case API.</li>
</ul>
<h1>Scandit SDK 4.15</h1>
<h2>New Features/Performance Improvements</h2>
<ul>
<li>Add pinch-to-zoom support to the iOS and Android barcode picker that allows to control the zoom level with a pinch gesture.</li>
<li>Improved MicroPDF417 scan performance. Partial row scans (erasures), code highlighting and upside down codes are now supported.</li>
<li>Improved decoding of ITF (Interleaved 2 of 5), EAN13, EAN8, UPC-A, UPC-E and PDF417 codes when the image is over- or under-exposed, or the code has ink-spread.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 4.15.1 (August 8th, 2016)</h2>
<h3>All SDKs</h3>
<ul>
<li>Fixed a rare null pointer access in analytics if the device has no more disk space available.</li>
<li>Fixed a rare out of bound read in the PDF417 error correction.</li>
<li>Handle an unexpected exception in the PDF417 error correction.</li>
<li>Fixed a rare out of bound read for certain 1d barcode symbologies.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Fixed incorrect NEON detection for ARMv7 devices. This bug could lead to slightly lower frame rates on affected devices.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 4.15.0 (July 28th, 2016)</h2>
<h3>All SDKs</h3>
<ul>
<li>Backwards incompatible change: The default value of code duplicate filter has been changed from 500ms to 0 (disabled). Code that relies on duplicate filtering will need to manually set the code duplicate filter. The default value of the barcode picker API's is not affected by this change and remains at 500ms.</li>
<li>Improved performance of blurry barcode decoder on x86 and x64-based devices such as some Android phones/tablets and Windows tablets.</li>
<li>Updated the GS1 DataBar AI parser to comply with the GS1 General Specification version 13. The AIs 337 (kilograms per square metre), 394 (discount of a coupon), 415 (GLN of invoicing party), 8012 (software version) and 8111 (loyalty points) have been added.</li>
<li>Add functionality to implement custom integrity checks for recognized codes. Codes that fail these additional integrity checks can be marked as rejected. As result, beeping, code highlighting as well as vibration are suppressed. This feature allows to implement custom checksums, or other types of integrity checks.</li>
<li>The new UPC-E extension 'remove_leading_upca_zero' allows to remove the leading zero if the UPC-E code is returned in its UPC-A representation using the extension 'return_as_upca'.</li>
<li>Fixed an issue with setDeviceName() that caused it to alternate between setting and unsetting the specified name.</li>
<li>Fixed an issue that could cause duplicate scan events to be transmitted by analytics.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Add support for switching the UI style while the camera preview is running.</li>
<li>Instead of showing a dialog box when the camera can not be accessed, display the error message inside the BarcodePicker view itself.</li>
<li>The deprecated set1DScanningEnabled/set2DScanningEnabled no longer have any effect. A message is printed that they are not supposed to be used anymore.</li>
<li>Enable remove_leading_zero for UPCA by default when creating ScanSettings from a JSON dictionary. This fixes an inconsistency between the iOS and Android barcode picker implementation.</li>
<li>Disable torch for Samsung Galaxy Core 2 Duo which behaves in unpredictable ways and may lead to app freezes when turned on.</li>
<li>Added possibility to specify runnables to be executed when asynchronous operations such as starting the scanning finishes. This functionality behaves identical to the completionHandler support on iOS.</li>
<li>Fixed an issue where the camera preview would not resize properly after rotating the device in non-fullscreen.</li>
<li>Fixed an issue that caused beeping to no longer work after creating tens of barcode pickers.</li>
<li>Fixed a potential issue when the camera preview is not able to start.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Fix issue with default values when initializing the scan settings from a dictionary. Previously it was not possible to disable the "remove_leading_zero" extension for UPCA codes. It would always be enabled.</li>
<li>Nul-bytes in SBSCode.data are now handled more gracefully. Previously, the string would get cut-off after the first nul-byte. While it's still recommended to use SBSCode.rawData for cases where nul-bytes are expected, this improves a few cases where nul-bytes are used to delimit UTF8-encoded data.</li>
<li>Improved angle tolerance of the Scan Case.</li>
<li>Improved focus performance on devices released prior to iPhone 6.</li>
</ul>
<h3>Phonegap</h3>
<ul>
<li>Add didStateChange event. This event is invoked whenever the state of the picker changes, e.g. when the picker state changes from active to stopped.</li>
<li>Fix issue that caused cancel events to be ignored for the full-screen picker when the cancel event was immediately sent after the picker has been started (affected only Android and Windows)</li>
<li>Fix issue that caused the didScan callback not to be blocking when a scan happened during a modal show animation (iOS only).</li>
<li>Support Android 6.0-style permission requests for accessing the camera. This makes it possible to use the barcode scanner plugin with a target SDK of 23. Previously, the target SDK had to be set to 22 and lower.</li>
<li>Added laser UI support for the Windows platform.</li>
</ul>
<h3>Xamarin</h3>
<ul>
<li>Remove support for building pre-unified iOS applications. Applications will have to switch to the unified iOS framework.</li>
</ul>
<h3>Linux</h3>
<ul>
<li>Fixed rowstride related bug for the SC_IMAGE_LAYOUT_YPCRCB_8U layout.</li>
<li>Added ARMv6l architecture build. Executing the SDK on the Raspberry Pi Zero is now possible.</li>
</ul>
<h1>Scandit SDK 4.14</h1>
<h2>New Features/Performance Improvements</h2>
<ul>
<li>Added support for the MicroPDF417 symbology. Performance will be improved in coming SDK versions. Reverse code scans are currently unsupported.</li>
<li>Added GS1 Composite Codes support for all the three composite types A, B and C.</li>
<li>New sharp Code128 matching algorithm that can handle more severe (reverse) ink spread than before.</li>
<li>Improved the dynamic range and angle estimation accuracy of the barcode localization. Ability to detect smaller codes than in previous versions. Furthermore, the angles of recognized barcodes are reported more accurately.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 4.14.1 (June 15th, 2016)</h2>
<h3>Android</h3>
<ul>
<li>Improve Auto-Focus and Auto-Exposure behavior of Samsung Galaxy J5.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Fix a linker warning when building for the simulator.</li>
</ul>
<h3>Phonegap</h3>
<ul>
<li>Make sure ScanSession.pauseScanning calls BarcodePicker.pauseScanning. Instead of calling pause/stop with cordova.exec, use the implementation offered by the JS BarcodePicker class. This makes sure the same logic is used when calling pauseScanning/stopScanning on the session and on the picker.</li>
</ul>
<h3>Xamarin</h3>
<ul>
<li>Fix an issue in the sample application that caused the preview to stay black. This was caused by a configuration problem in the sample application.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 4.14.0 (May 31st, 2016)</h2>
<h3>All SDKs</h3>
<ul>
<li>Fixed that barcodes at certain angles were not reliably localized.</li>
<li>Reduced the minimum supported symbol count for ITF from 6 to 4 digits.</li>
<li>Reduced blurry barcode decoder frame times by a factor of 3 on ARM64 devices.</li>
<li>Fixed a rare crash in the blurry decoder.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Use TextureView instead of SurfaceView for devices that support it. This fixes a few layout and rendering issues when displaying a cropped/scaled picker.</li>
<li>Improved auto-focus behavior when hot spot is not in the center of the image.</li>
<li>For Android Lollipop and higher: move files generated by the barcode scanner to the no-backup directory to avoid including them in backups.</li>
<li>Fix focus issues on HTC One X.</li>
<li>Improve auto-focus for Galaxy S7.</li>
<li>Do not throw exception when the picker has been instantiated without a prior call to ScanditLicense.setAppKey</li>
<li>Improve performance of blurry decoder on Galaxy Tab Pro 8.4.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Reduce power-consumption of standby mode in case API.</li>
<li>Add possibility to display camera preview when using the scan case API</li>
<li>Fix a bug that caused the viewfinder to show in the wrong color when switching between the rectangle and laser UI styles.</li>
<li>Fix bug that caused the torch button to not work when the scanner is in paused state.</li>
<li>Fixed an issue in the SBSScanCase class that caused the scanner to not start in pause mode when using the designated initializer.</li>
<li>Improve scan performance for the scan case.</li>
<li>Do not export deprecated enum values to swift, since they cause issues with lldb when another project defines enum values of the same name.</li>
<li>Fix an issue that caused beeps to be cut off or stretched when using the volume button for triggering scans in the case API.</li>
</ul>
<h3>Phonegap</h3>
<ul>
<li>Android and iOS scan callbacks are now called synchronously from the engine, fixing any previously experienced double scans.</li>
<li>The startScanning(paused) and applyScanSettings(settings) functions have been fixed on Android (they were already working on iOS).</li>
<li>Documented how to use the Scandit SDK on the Telerik Platform.</li>
<li>Add rawData property to recognized codes which allows access to the data encoded in a barcode as an array of char codes.</li>
<li>Fix a bug in the parsing of the scanning hot spot on Android that caused x and y coordinates to be flipped.</li>
</ul>
<h1>Scandit SDK 4.13</h1>
<h2>New Features/Performance Improvements</h2>
<ul>
<li>
<p>Added Xamarin for Windows Phone 8.1, Windows 8.1 and Universal Windows Platform (Windows 10) support - our Windows is now more complete with the support for the popular development platforms Xamarin and Phonegap/Cordova.</p>
</li>
<li>
<p>Improved glare compensation for blurry 1D barcodes - the improved glare compensation for blurry barcodes makes our barcode scan engine more reliable in challenging conditions, where the images remains blurry because of a slow autofocus.</p>
</li>
<li>
<p>Added support for the Code25 symbology also known as 'Industrial 2 of 5', 'Standard 2 of 5' or 'Discrete 2 of 5'. The verification of the optional Mod10 checksum can be enabled to improve detection rates. With Code25, we added support for another rare 1D barcode symbology in addition to all common symbologies we've supporting for years.</p>
</li>
<li>
<p>DataBar-14 and DataBar Expanded decoders are now significantly faster and more robust. The highlighting of Databar codes is also more precise. We would recommend that users of the previous generation of Scandit DataBar decoder upgrade to take advantage of the significant speed improvements (worst case frames with expanded Databar barcodes are now up to a factor 10 faster).</p>
</li>
<li>
<p>Dynamic ink spread compensation for Code39 codes. The ink spread compensation for Code39 barcodes has been further improved and now tolerates even more severe ink spread than before.</p>
</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 4.13.4 (May 17th, 2016)</h2>
<h3>Phonegap</h3>
<ul>
<li>Fixed an issue with relative constraints when changing the device orientation.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 4.13.3 (May 2nd, 2016)</h2>
<h3>Phonegap</h3>
<ul>
<li>Fixed a crash when using the new constraints and rotating the device on Android.</li>
<li>Added the applyScanSettings function under Android which was not working before.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 4.13.2 (April 29th, 2016)</h2>
<h3>All SDKs</h3>
<ul>
<li>Fixed out of bound reads in the DataBar-14 reader that occasionally lead to slow frames on ARMv7
iOS devices.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Fix auto-focus issues on Galaxy J7, Galaxy S6 Edge(+) and Galaxy Note5.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 4.13.1 (April 12th, 2016)</h2>
<h3>All SDKs</h3>
<ul>
<li>Fixed a rare crash in the blurry 1d reader caused by a race condition.</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Fix missing nullability specifier warning in SBSScanCase.h</li>
</ul>
<h3>Windows</h3>
<ul>
<li>Added a community edition of all our Windows platforms.</li>
</ul>
<h3>Phonegap</h3>
<ul>
<li>Fixed a crash when editing the overlay after showing the picker.</li>
<li>Added view constraints that extend the currently available margins by also providing the option to set width and height.</li>
</ul>
<h2>Bug Fixes/Software Updates in Scandit SDK 4.13.0 (April 5th, 2016)</h2>
<h3>All SDKs</h3>
<ul>
<li>Reduced the incorrect default Code11 maximum symbol count from 31 to 20.</li>
<li>Fixed a rare crash in the Aztec Code reader.</li>
<li>Fixed a rare crash in the QR Code reader.</li>
<li>Fixed a rare crash in the PDF417 reader.</li>
</ul>
<h3>Android</h3>
<ul>
<li>Dropped support for Android 9 (market share dropped below 0.1%). The oldest Android OS version we support is now Android 10 (2.3.3).</li>
</ul>
<h3>iOS</h3>
<ul>
<li>Added new API for the <a href="http://www.scandit.com/products/case/">Scandit scan case</a>.</li>
<li>Fixed issue that caused last preview frame of a previous picker to be displayed initially when starting another picker.</li>
</ul>
<h3>Windows</h3>
<ul>
<li>Added torch on/off button to the scan UI.</li>