[4.0.0-beta11] - 2020-11-26
- [iOS] Fix localization of “Detect” text in ScanFlow module.
- [iOS] Remove the beta modifier in Framework’s SDK version as this doesn’t respect the semantic versioning required by
CFBundleShortVersionString. Instead of
v4.0.0-beta11, the framework’s version will be
4.0.0 even for beta versions.
- [Android] Simplify the API of the ScanFlow result: you don’t need to use
ImageStore to get the file path of the images.
[4.0.0-beta10] - 2020-11-24
- [Flutter] Fix missing iOS frameworks.
[4.0.0-beta9] - 2020-11-23
- [iOS] Further simplify the
GSKCameraSession API: you don’t have to call
setup on it anymore, the
GSKCameraViewController will call it at the appropriate time.
- [iOS] Add SDK version as part of the Framework Info.plist.
- [iOS] Rewrite Custom Demo in Swift.
- [core] Improve stability of image detection.
[4.0.0-beta8] - 2020-11-13
- [Android] Rename
- [iOS] Simplify API of the
GSKCameraSession. The session doesn’t require a
GSKScanFactory, and will simply return a
GSKScan object with the new scan. See GSKCustomDemo for an updated implementation reference.
- [iOS] Prevent crash if a concave quadrangle is passed to the
GSKDocumentProcessor. Instead, an error will be returned by the processor.
- [iOS] ScanFlow: Add padding around user guidance labels.
[4.0.0-beta7] - 2020-11-06
- [Android] Fix ScanProcessor behavior when no perspective correction should be done.
- [Android] Fix rotation of empty quadrangle.
- [Cordova] iOS: Fix plugin that included incorrect headers.
Improved ScanFlow UI
We’ve simplified the ScanFlow module to 2 main screens: a Camera screen, and a Post-processing screen, from which one can change the filter and edit the cropping area of the current page.
Also, the batch scanning mode has been changed: after validating a page on the post-processing screen, the user is brought back to the Camera screen. Hitting the Done button validates the scanned pages and terminates the flow. Hitting the Cancel button cancels the entire scan flow after a confirmation.
[4.0.0-beta6] - 2020-10-26
- [iOS/Android] Smoother real-time display of the detected document.
- [React Native] Android: Remove tag from plugin manifest resulting in a warning while building your project.
[4.0.0-beta5] - 2020-10-23
- [iOS, Android] Improve the document processor API to avoid confusing parameter combinations.
Edge cleaning is a powerful enhancement that cleans up the edges of the documents. Often, after you crop a document, some artifacts are left on the edges of the document. The edge cleaning cleans them up. This results in a cleaner document and helps with the accuracy of the OCR step.
[3.0.26] - 2020-10-19
- [Core] Accelerate perspective correction
- [Android] Fix a crash happening on Android 11 when performing perspective correction
[4.0.0-beta4] - 2020-10-14
- [Android] Add ability to set an additional camera frame processing. A
onPreviewFrame method has been added to the
[4.0.0-beta3] - 2020-10-07
Best filter detection
The Best filter detection algorithm, which takes an image as input and returns the best filter to apply to this image, has been completely changed. It used to return only two outputs:
Black & White or
It now has 4 outputs:
None when the image does not contain a document
Black & White for text documents with very little color
Color for text documents with some color
Photo when the document contains mainly graphic parts and little text
- [Android] Revert incorrect renaming of the UI package in the Core module
- [Core] The document detection now returns an empty quadrangle when no document has been detected on the image. A full quadrangle is returned when the detected document fills the entire image (e.g. no crop is needed).
[4.0.0-beta2] - 2020-10-05
- Fix documentation and demo apps
[4.0.0-beta1] - 2020-10-02
You will find the Android and iOS documentation for this beta version in the software archive of this release. It also contains the native libraries and demo apps.
Document detection has been entirely rewritten using deep learning and a new interface is now available for Android and iOS.
On Android, instead of using
GeniusScanLibrary.detectFrame(path), you need to build a
CnnDocumentDetection object and call one of the
detectDocument methods on it.
Similarly, on iOS, instead of using
[GSK detectQuadrangleFromImage:imageOutOfCamera options:0], use the
GSKDocumentDetector class and the
A new interface is also available for the different scan processing operations such as perspective correction, filtering and distortion correction. A single call is now needed to process an image and get a clean and readable document.
On Android, the corresponding methods have been removed from the
GeniusScanLibrary class and have been replaced by a
On iOS, the
GSKDocumentProcessor class replaces previous methods from
The different image filters (
Black and White,
Monochrome) have also been rewritten from scratch using novel algorithms to improve the quality and readability of the scanned documents. This results in a better removal of shadows, a correction of the colored tint that appears on some documents because of ambient light, and a better treatment of colors in text documents.
Monochrome filter and smaller PDF files
We’ve made several changes to optimize the size of PDF files created with the SDK. When using the
Monochrome filter, you have the ability to save the output as monochrome 1-bit PNG images. Resulting PDF files using these PNG images are up to 10 times smaller.
- [Cordova ReactNative Flutter] iOS: Change the output format to match the documentation. Now, the scans and the generated PDF all have a URL in the form
[3.0.25] - 2020-10-01
- [Android] Add support for Android 11
- [Cordova] Fix Ionic documentation
[3.0.24] - 2020-08-24
- [PDF] Add ability to set creation and last update dates of PDF files metadata.
- [UI] Fix bug where current page was saved when the validation dialog was canceled.
- [Core] Android: Properly throw an exception in perspective correction when quadrangle is invalid.
- [Core] iOS: Fix crash in perspective correction when two vertices of the quadrangle are really close.
[3.0.23] - 2020-07-21
- [UI] Improve translations, mainly in Turkish.
- [Android] Keep symbols in AARs to be able to track crashes (eg with Firebase Crashlytics). This shouldn’t result in bigger APKs since native symbols are stripped when built in Release mode.
[3.0.22] - 2020-07-15
- [OCR] Improve error reporting in
- [UI] Improve German localization.
- [UI] iOS: Add cancel button when picking an image from the Photos or scanning directly from a URL.
- [UI] iOS: Prevent conflict between interactive pop gesture and dragging to adjust the document’s detected edges.
[3.0.21] - 2020-07-13
- [Android] Core:
ScanFragment now checks if its parent fragment implements
CameraCallbackProvider, not only its parent activity.
- [iOS] Fix crash with 64-bit images.
- [OCR] Fix
TextLayoutToTextConverter issue on some images with no text.
[3.0.20] - 2020-07-06
- [Android] Fix a Proguard issue regarding
[3.0.19] - 2020-06-23
- [Android] Fix dependencies of Maven artifacts
- [UI] Android: Fix a minor issue closing a dialog that was causing an error being logged
- [UI] Android: Fix Camera screen on devices with a 16:9 camera
- [OCR] Add a TextLayout to Text converter to convert OCR result into a legible text
[3.0.18] - 2020-05-12
- [iOS] SDK is now built with Xcode 11.4.1.
- [Flutter, RN, Cordova] Fix Android dependency (Bolt Tasks) that was causing a crash
[3.0.17] - 2020-05-05
- [OCR] Remove
preprocessed parameter. This parameter let the caller specify that the image was already preprocessed for OCR and that the SDK didn’t need to reprocess it. The OCR stack will now always preprocess images for optimal results. The caller doesn’t have the ability to prevent that anymore.
- [UI] Fix some translations
- [UI] Android: optimize bitmap loading, especially for devices with a very large resolution camera
[3.0.16] - 2020-04-22
- [Core] Fix regression introduced in 3.0.15 where the PDF generation was broken if the images were resized during PDF generation.
- [OCR] Report error rather than crashing if language files are missing.
[3.0.15] - 2020-04-21
- [Core] Drastically reduce memory usage during PDF creation.
[3.0.14] - 2020-04-06
[3.0.13] - 2020-03-31
- [OCR] Improve quality of OCR for non-preprocessed images.
[3.0.12] - 2020-03-17
- [Cordova] Make plugin compatible with Capacitor
[3.0.11] - 2020-03-06
- [Flutter] Android: Fixed our plugin to work with the new plugin embedding system (for apps created with Flutter 1.12 and above)
[3.0.10] - 2020-01-10
- [OCR] Android: Improve interface and include a preprocessing step if requested.
OcrProcessor should now be used.
- [ReactNative] Android: Fix
pdfMaxScanDimension that were Double values instead of integers.
[3.0.9] - 2019-11-29
- [Core] Android: Improve
detectWarpEnhance method that takes a
Bitmap as input and rename it to
process now that it also handles distortion correction.
[3.0.8] - 2019-11-07
- [Flutter] Improve integration of the plugin on Android, it’s no longer needed to edit an app’s
android/build.gradle file to include the plugin native libraries.
- [Flutter] Android: Fix crash when
onActivityResult wasn’t called with this plugin request code.
[3.0.7] - 2019-10-21
- [Core] Improve the robustness of the distortion/curvature correction
- [UI] Add a parameter
jpegQuality to set the JPEG quality of scanned pages
- [UI] Add a parameter
pdfMaxScanDimension to reduce size of pages before PDF generation
[3.0.6] - 2019-10-02
- [iOS] Prevent scan 180° rotation when iPhone is tilted upside down.
- [Flutter] Android: Migrate to AndroidX
- [Cordova] Android Support library version can now be passed as parameter when adding the plugin.
- [Android] Remove the unneeded permission WRITE_EXTERNAL_STORAGE from manifest since SDK only writes to app specific directory.
[3.0.5] - 2019-09-19
- [iOS] ScannerUI: the status bar color now automatically adapts to the chosen background color’s contrast (https://www.w3.org/WAI/ER/WD-AERT/#color-contrast).
- [Flutter] Android: Fix return of
setLicenceKey method. An error with message
java.lang.IllegalStateException: Reply already submitted was logged before this fix.
[3.0.4] - 2019-09-12
- [iOS] Fix link issue by exposing some missing symbols
[3.0.3] - 2019-08-28
- [Flutter] Add a Flutter plugin using the UI module of the SDK on pub.dev
- [Flutter/iOS] Fix a crash when canceling the scan flow
- [Android Cordova ReactNative] Parameter name
imageUrl has been changed into
image. This parameter still expects the image URL and not the image itself.
- [Android] UI: Fix visibility of a class to be able to access individual pages in scan flow result
[3.0.2] - 2019-07-31
- [iOS] Fixed missing symbol in GSKScannerUI framework. This was resulting in a linker error when trying to access the GSKScannerUI results as individual scans (GSKScannerUIScan).
[3.0.1] - 2019-07-22
- [Android] UI: Default
multiPage to true
- [ReactNative] Ensure compatibility of plugin with ReactNative 0.60
[3.0.0] - 2019-07-09
As of this release, the native SDK and the cross-platform plugins will be versioned under the same version number
- [Android, iOS] Add a new “Scanner UI” module that allows to start a customizable capture flow with 3 screens in one command
- [Android, iOS] Add a new “Simple demo” app that shows how to use the Scanner UI module
- [Android] Split SDK into 3 libraries (AAR): gs-sdk (core scanning methods and PDF generation), gs-sdk-ocr (text and layout extraction from an image), gs-sdk-ui (simple scan flow UI)
- [iOS] Split SDK into three frameworks: GSSDK, GSSDKScannerUI and GSSDKOCR
- Add localization into 10 new languages
- [iOS] Utils: Add methods to rotate and fix orientation of an image
- [iOS] Utils: Add method to scale an image
- [ReactNative, Cordova] Switched to using the new SDK Scanner UI module
- [iOS] API: Improved documentation
- [iOS] API: Cleaned up API for Swift
- [iOS] Camera UI: Redesigned shutter button
- [iOS] Camera UI: Added animation when document is detected
- [iOS] API: Renamed filters Color -> Photo, Whiteboard -> Color
- [Android] UI: Fix shutter button not animating after camera permission dialog.
- [Cordova, ReactNative] Removed support for title, password for the generated PDF file
- [iOS] Removed distortion correction from iOS native demo
[ReactNative_2.5.2] - 2019-06-10
- [Android] Fixed setLicenceKey method which was not returning properly
[ReactNative_2.5.1, Cordova_2.5.1] - 2019-05-07
- [Cordova, ReactNative] Fixed typos in UI
- [Cordova, ReactNative] Android: Fixed layout issue
[ReactNative_2.5.0, Cordova_2.5.0] - 2019-04-30
- [Cordova, ReactNative] Android: Page format for PDF generation is FIT rather than A4
- [Cordova, ReactNative] Android: PDF title is used for filename, in addition to PDF metadata
- [Cordova, ReactNative] Android: Image type was incorrectly detected on original image, instead of warped image
- [Cordova, ReactNative] Document detection status
- [Cordova, ReactNative] Scan functions now return original image Uri, in addition to enhanced image
- [Android] Made focus before trigger optional
- [iOS, Android] Improved OCR progress report (was between 0 and 70, should be between 0 and 100 now)
- [Android] Improved speed of OCR
- [Android] Correctly throw exception when SDK initialized with incorrect license key
- [Android] Support landscape camera screen
- [iOS] Fix AutoTrigger flag that couldn’t be disabled
[2.4] [ReactNative_2.4.2, Cordova_2.4.2] 2019-02-27
- [iOS, Android] Added OCR. Ability to extract text and layout from an image and generate PDF documents with this text information to make it searchable and selectable.
- [iOS] Added distortion correction to demo
- [React] Added ability to specify “ENHANCEMENT_NONE” to avoid filter phase
- [React] Added cancel button on iOS camera screen
- [React] Added automatic photo trigger on Android
- [Cordova] Compatibility with android-cordova >= v7.0.0
- [iOS, Android] Added distortion correction
- [Android] Added support x86_64 architecture
- [iOS] Fixed crash with B&W images (#274)
- Improved exceptions handling (eg license check) (#280)
- [Android] Upgraded to Android P
- [Android] Upgraded OpenCV to 3.4.3
- [React] Fixed wrong method name to set license key
- PDF generation with
- Selecting an enhancement type by default with
- [Android] Fixed export in demo for Android 7 and above
- [iOS] Fixed resize of scaled image
- [Android] Added Auto Trigger to demo
- [Cordova] Added upgrade instructions to doc
- [iOS] Added Auto Trigger to demo app
- [Android] Camera is released in an async task
- [ReactNative] Added plugin and demo
- [Cordova] Breaking changes:
- Licence needs to be set via setLicence
- scan is now scanImage
- New method to scan from camera scanCamera
- [iOS] Fixed empty Apple documentation
- [iOS] On iPad, changed picture orientation to be based on UI instead of sensors
- [Android] Breaking change
- ScanFragment is now a fragment from the Support library, instead of a native fragment
- [Android] SDK is now published to our Maven repository on S3
- [Android] Fixed logging, especially to notify that SDK is not initialized
- [Cordova] Changed demo app to use image instead of camera in simulator
- [Cordova] Upgraded SDK, added docs for Plugman and Ionic
- [iOS] Reduced size of SDK: footprint of Universal IPA according to App Thinning Report (~ 500 KB)
- [iOS] Removed need for adding OpenCV dependency to Podfile
- Updated READMEs
- Added timer to allow tests for a minute without a license
- [iOS] Added support for bitcode and Xcode 9.2
- Improved enhancement of shadows in B&W
- [iOS] Added Appledoc
- [Android] Changed preview to stop after each picture is taken
- [Cordova] Added translations: de, en, es, fr, it, ja, pt-BR, ru, zh-Hans, zh-Hant