Releases: PDF417/pdf417-android
Releases · PDF417/pdf417-android
v8.0.0
PDF417.mobi v8 Release Announcement
As of this version, PDF417.mobi SDK is fully compatible with other Microblink SDKs, which means that you can use it alongside another Microblink SDK in the same application.
Improvements:
- We've translated complete SDK to the following languages: Arabic, Chinese traditional, Chinese simplified, Croatian, Czech, Dutch, English, Filipino, French, German, Hebrew, Hungarian, Indonesian, Italian, Malay, Portuguese, Romanian, Serbian, Slovak, Spanish, Slovenian, Thai and Vietnamese.
- We added the option to disable Microblink logs in the console output. Use
LoggingSettings.disableMicroblinkLogging()
. Be careful with this option. We need full log outputs from the application for support purposes. In case of having problems with scanning certain items, undesired behavior on the specific device(s), crashes inside SDK or anything unmentioned, we will need a full log from your side. If you disable Microblink logging, you won't be able to provide us this information. Hence support might be limited. - We've made the SDK safe from tapjacking, a form of attack where a user is tricked into tapping something he or she didn't intend to tap. We did this by adding a new security option that prompts the SDK to discard touches when the activity's window is obscured by another visible window.
- We've introduced a new
FrameRecognitionCallback
callback for theRecognizerRunnerView
, which is invoked each time a camera frame from a video stream is recognized. UseRecognizerRunnerView.setFrameRecognitionCallback
method to set the callback. - We've improved camera performance on some Samsung devices.
Major API changes:
- To ensure compatibility with other Microblink SDKs, we have repackaged all classes. We have renamed the root package
com.microblink
tocom.microblink.blinkbarcode
, which is unique toPDF417.mobi
SDK. - SDK has been migrated to AndroidX dependencies - previous SDK dependency com.android.support:appcompat-v7 has been replaced with androidx.appcompat:appcompat
ScanResultListener
interface now has an additional method called when the scanning cannot continue because of an unrecoverable error. You have to implementonUnrecoverableError
method.
If you're using built-in activities, whenonActivityResult
is called withRESULT_CANCELED
result code, the exception will be available viaActivityRunner.EXTRA_SCAN_EXCEPTION
intent extra. If the user canceled the scan, the exception would benull
.
Minor API changes:
- We've deprecated
Pdf417Recognizer
- useBarcodeRecognizer
instead. - We've introduced new API for configuring camera options on
UISettings
- useUISettings.setCameraSettings
, which accepts object ofCameraSettings
type. RecognizerRunnerFragment
extendsandroidx.fragment.app.Fragment
, instead of deprecatedandroid.app.Fragment
.- All provided scan activities extend
AppCompatActivity
. - We've removed
RecognizerRunnerView
custom attributes:mb_initialOrientation
andmb_aspectMode
. UseRecognizerRunnerView.setInitialOrientation
andRecognizerRunnerView.setAspectMode
to configure the attributes in the code. - We've changed default
IntentDataTransferMode
toIntentDataTransferMode.PERSISTED_OPTIMISED
. It can be configured by usingMicroblinkSDK.setIntentDataTransferMode
. - We've replaced
Using time-limited license!
warning withUsing trial license!
warning. The warning message is displayed when using a trial license key. - We've renamed
RecogitionMode
toRecognitionDebugMode
inRecognizerBundle
.
Bug fixes:
- We've fixed camera busy error in camera management that was happening during the quick closing and opening of the camera.
- We've fixed rare crash on Samsung J5 Prime caused by race condition during the initialization of native camera frame.
- We've fixed problems with aspect ratio of camera preview on Huawei Mate 10.
- We've fixed crash when using Direct API on high-resolution
com.microblink.image.Image
fromHighResImageWrapper
. - We've fixed race conditions in camera management, which in some cases caused that the camera was unable to resume after it has been paused.
- We've fixed the front-facing camera error on
Oukitel WP8 Pro
.
v7.2.1
v7.2.0
New features:
- enabled capturing of high resolution camera frames:
- When custom UI integration is performed, enable this functionality by using method
RecognizerRunnerView.setHighResFrameCaptureEnabled
and useRecognizerRunnerView.captureHighResImage
to capture image - When using provided scan activities, high resolution full camera frames taken at the moment of successful scan are returned if this option is enabled through
UISettings
. ConcreteUISettings
which implement interfaceHighResSuccessFrameCaptureUIOptions
support this feature.
- When custom UI integration is performed, enable this functionality by using method
Improvements for existing features:
- added option to force overlay orientation for
BarcodeOverlayController
(BarcodeScanActivity
) - useBarcodeUISettings.setForcedOrientation(OverlayOrientation)
RecognizerRunnerView
is lifecycle-aware now, it implementsandroid.arch.lifecycle.LifecycleObserver
interfaceBarcodeScanActivity
by default does not show result dialog after scan- updated default UI icons
Minor API changes:
- Scanning timeout that can be configured by using
RecognizerBundle.setNumMsBeforeTimeout
is by default set toRecognizerBundle.TIMEOUT_INFINITY
, which means that timeout is disabled by default. Previous default timeout value was 10 seconds.
Bug fixes:
- fixed crashes on Nexus 6
- removed incorrect autofocus check that was performed before concrete camera type is chosen
- fixed crash on some devices when using
VIDEO_RESOLUTION_MAX_AVAILABLE
- fixed problems in camera management:
- default camera surface is
TextureVeiw
for devices that use Camera1 API, otherwiseSurfaceView
is used
- default camera surface is
- fixed camera autofocus problems on Samsung S9/S9+ when optimisation for near scanning is enabled
- fixed bug which caused that results from the previous scan are cleared when the scan activity is run again and entities which have produced results are not used in the new scan
- various other bug fixes and improvements
v7.1.0
Bug fixes
- fixed crash that could happend when calling
reconfigureRecogizers
onRecognizerRunnerView
Improvements for existing features
- added support for nonstandard pdf417 barcodes which wrongly encode number of data codewords
Minor API changes
PointSetView
is now incom.microblink.view.viewfinder.points package
BarcodeFormat
has been renamed toBarcodeType
USDLRecognizer
has been renamed toUsdlRecognizer
- updated
BarcodeRecognizer
:- casing of several methods has been updated:
setScanPdf417
,setScanQrCode
,setScanDataMatrix
,setScanEan13
,setScanEan8
,bsetScanItf
,setScanUpca
,setScanUpce
setUncertainDecoding
renamed tosetScanUncertain
setInverseScanning
renamed tosetScanInverse
- casing of several methods has been updated:
v7.0.0
- new API, which is not backward compatible. Please check README and updated demo applications for more information, but the gist of it is:
RecognizerView
has been renamed toRecognizerRunnerView
andRecognizer
singleton toRecognizerRunner
Pdf417ScanActivity
has been renamed toBarcodeScanActivity
- previously internal
Recognizer
objects are not internal anymore - instead of having opaqueRecognizerSettings
andRecognizerResult
objects, you now have statefulRecognizer
object that contains itsResult
within and mutates it while performing recognition. For more information, see README and updated demo applications - added
RecognizerRunnerFragment
with support for various scanning overlays in a manner similar to iOS API. This now allows you to use built-in UI, which was previously strictly available forPdf417ScanActivity
, in form of fragment anywhere within your activity. Full details are given in README and in updated demo applications.
- new licence format, which is not backward compatible. Full details are given in README and in updated applications, but the gist of it is:
- licence can now be provided with either file, byte array or base64-encoded bytes
v6.4.0
LibPDF417
is now fully ProGuard-compatible, i.e. you no longer need to excludecom.microblink.**
classes in your ProGuard configuration- removed support for Android 2.3 and Android 4.0 - minimum required Android version is now Android 4.1 (API level 16)
- devices with Android 4.0 and earlier take less than 2% of market share and is very costly to support them
- removed support for
armeabi
devices and ARMv7 devices without NEON SIMD support- support for ARMv7 devices with NEON support still remains
v6.3.0
- fixed
UnsatisfiedLinkError
that happened on pre-Lollipop devices and was introduced in v6.2.1 - optimised native binary size
- 23% size reduction for
arm64-v8a
ABI - 18% size reduction for
armeabi
ABI - 30% size reduction for
armeabi-v7a
ABI - 22% size reduction for
x86
andx86_64
ABIs
- 23% size reduction for
- removed
mips
andmips64
native binaries for two reasons- code size optimisations did not work for those ABIs
- no known Android device uses those ABIs
v6.2.1
v6.2.0
v6.1.0
- removed
RecognizerView
methodsetInitialScanningPaused
. For achieving the same functionality, methodpauseScanning
should be used. - added support for cancelling ongoing DirectAPI recognition call
- added support for Android 7 multi-window mode
- fixed autofocus bug on Huawei Honor 8
- fixed black camera on Motorola Moto Z
- made camera focusing more stable on some devices
- stable means less "jumpy" when searching for focused image