- Remove sample app signing (fixes #125).
- Fix manual entry Activity started twice when rejecting camera permission (fixes #128, #150).
- Remove unnecessary logging (fixes #184).
- Compile distributed package with NDK r14.
- Update Gradle build plugin to 2.2.3.
- Update compile and target SDK versions to 25.
- Update NDK to r13b.
- Increase
minSdkVersion
to 16. - Upgrade OpenCV to 2.4.13.
- Add Mastercard 2-series support.
- Bump compile SDK to 24 for reals.
- Compile distributed package with NDK to r12b (previous was r11c).
- Update Android Gradle plugin to 2.2.0.
- Add ability to specify an alternative search path for the native libraries via
CardIONativeLibsConfig
card.io-Android-source#86. Thank you Thorben Primke! - Updated gradle plugin and wrapper versions.
- Bump compile SDK to 24.
- Add ability to blur all digits in the scanned card image, minus any number of digits to remain unblurred, enabled via
CardIOActivity.EXTRA_UNBLUR_DIGITS
. Thank you Michael Schmoock! - Fix issue where Maestro cards were not correctly recognized #154.
- Fix issue on Android 23 and above where
CardIOActivity#canReadCardWithCamera()
would return the incorrect value if permissions had not been granted #136. Now defaults totrue
in such cases. - Add missing locales to javadocs card.io-Android-source#75.
- Upgrade gradle to 2.13.
- Upgrade Android Gradle plugin to 2.1.0.
- Fix crash on Android 23 and above where
onRequestPermissionsResult()
returns an empty array card.io-Android-source#70.
- Fix newline issue in ES locale #142.
- Fix build issue with ndk 11 card.io-Android-source#60.
- Upgrade gradle to 2.12.
- Upgrade Android Gradle plugin to 2.0.0.
- Fix issue where Android 23 and above devices would crash when the library's
.so
files were removed PayPal-Android-SDK#279.
- Fix issue where the camera was flipped when the app was backgrounded with card.io open #118.
- Add proguard config to
aar
file #112, #117.
- Add option for only numeric input for postal code,
EXTRA_RESTRICT_POSTAL_CODE_TO_NUMERIC_ONLY
#100.
- Add Cardholder Name to list of available manual entry fields, enabled via
CardIOActivity.EXTRA_REQUIRE_CARDHOLDER_NAME
. Thank you Dan Nizri and Zach Sweigart! - Fix issue where certain devices would show the camera preview upside down #91.
- Fix issue where null could be set in the return bundle value for
CardIOActivity.EXTRA_SCAN_RESULT
. - Upgrade build tools.
- Fix bug where denying the camera permission on Android 23 results in invalid data #37-source.
- Fix bug where ActionBar was not properly hiding immediately after accepting the Camera permission.
- Add arm64-v8a processor support #33-source, #51.
- Add x86 processor support #26-source.
- Add x86_64 processor support.
- Add support for Android 23 new permission model for the Camera permission #78. When permission is granted, the SDK performs as in previous versions. When permission is or has already been denied, the SDK falls back to manual entry. Note: this SDK does not call the
shouldShowRequestPermissionRationale()
method and does not show a rationale. It is up to the implementor whether or not to show the Camera permission rationale before opening the SDK. - Populate CardIOActivity.EXTRA_CAPTURED_CARD_IMAGE when confirmation is shown #10-source.
- Fix issue where setting
EXTRA_KEEP_APPLICATION_THEME
would not create buttons that matched the theme #24-source. - Add a default edit text hint color #22-source.
- Fix leaking IntentReceiver #76.
- Prevent screenshots when the app is backgrounded via FLAG_SECURE.
- Fix issue where arm64-v8a devices were not allowing the scanning of devices #62).
- Add automatic expiry-scanning.
You can disable this feature via the new
EXTRA_SCAN_EXPIRY
extra ofCardIOActivity
. Note: Expiry scans will not infrequently fail to obtain the correct expiry date. We are continuing to work to improve expiry-scanning accuracy. - Fix crash when the
DataEntryActivity
is missing extras #19).
- Fix crash caused when an application's theme specifies no action bar #44).
- Use the application theme to define most of the UI's colors.
- Minor bug fixes.
- Distribute .aar file instead of .jar and .so files.
- New extras on
CardIOActivity
:EXTRA_SCAN_INSTRUCTIONS
,EXTRA_HIDE_CARDIO_LOGO
,EXTRA_SCAN_OVERLAY_LAYOUT_ID
,EXTRA_SUPPRESS_SCAN
,EXTRA_RETURN_CARD_IMAGE
,EXTRA_KEEP_APPLICATION_THEME
, andEXTRA_USE_PAYPAL_ACTIONBAR_ICON
. - Remove deprecated extras and methods in
CardIOActivity
:canReadCardWithCamera(Context)
andEXTRA_REQUIRE_ZIP
. - New extra
EXTRA_CAPTURED_CARD_IMAGE
returned to calling Activity. - New class
BuildConfig
.
- Eliminate App Token. Developers no longer need to sign up on the card.io site before using card.io.
- Add Icelandic (is) to our supported localizations. Thank you, Martin Kaplan!
- Add support for Diners Club and China UnionPay cards.
- Rename zh-Hant_HK -> zh-Hant so that HK is chosen by default for other regions.
- Add Thai (th) to our supported localizations.
- Update PayPal logo.
- Remove any transparency from guide color.
- Add language support for Arabic and Malay.
- Add guide color customization through
CardIOActivity.EXTRA_GUIDE_COLOR
. - Add ability to skip confirmation activity through
CardIOActivity.EXTRA_SUPPRESS_CONFIRMATION
. - Fix camera not recognized issue for some devices.
- Restrict postal code maximum length.
- Add convenience method to localize CardType.
- Fix Hebrew phone settings detection bug.
- Add SampleApp.
- Reverse release_notes order.
- Update globalization strings for 25 languages/locales.
- Add translations of all strings into ~20 languages, in addition to American English.
- Translation choice is controlled by
CardIOActivity.EXTRA_LANGUAGE_OR_LOCALE
. - The translations that a few developers had previously created for their own apps will no longer be used by the SDK.
- NOTE: Default language, if not set by your app, will now be based upon the device's current language setting.
- Fix pre Android 4.0 hanging issue.
- Fix rotation issue when starting in landscape mode.
- Fix card image disappearing when rotating device in card details screen.
- Add missing string to internationalization list.
- Add log note when processor is not supported.
- UI updates.
- Don't require portrait for DataEntryActivity.
- Fix scanner crash in landscape.
- Fix orientation bugs to support some tablets.
- Use PayPal logo instead of card.io by default. See javadoc to switch back.
- Fix a couple of NPEs associated with the back button.
- Fix NPE if values/strings.xml is missing from the project.
- Fix native crash if a second scanner is launched from
onActivityResult()
of completion of the first.
- Client side scanning!
- Skipped.
- Correct layouts for high resolution cameras & xhdpi displays.
- Fix crash on HTC ICS.
- Additional null checking.
- Improve private label support.
- Work around a crash in some Qualcomm camera drivers, e.g. Samsung Galaxy II S running Android 4.0.4.
- Improve efficiency of internal API.
- Charges are no longer supported.
- Fix a bug that caused some mod builds (e.g. CyanogenMod) to hang at the charge screen.
- Fix a problem that could have caused GPS to stay active for longer than necessary.
- Support scanning in non-NEON ARMv7 devices, e.g. nVidia Tegra2.
- Support manual entry in all other devices. Including those based on MIPS or x86.
- Fix exception in charge flow caused by users pressing the home button while the charge is processing.
IMPORTANT: You should delete libs//libcardio.so from your project directory before unzipping the new SDK. This library is obsolete and will only make your .apk bigger if it is included.
The bundled libraries are:
libs/card.io.jar
libs/armeabi/libcardioDecider.so
libs/armeabi-v7a/libcardioDecider.so
libs/armeabi-v7a/libcardioRecognizer.so
libs/armeabi-v7a/libcardioRecognizer_tegra2.so
libs/armeabi-v7a/libopencv_core.so
libs/armeabi-v7a/libopencv_imgproc.so
libs/mips/libcardioDecider.so
libs/x86/libcardioDecider.so
Note that if your app is not targeting x86 or MIPS, you can safely leave out these libraries. However, doing so will cause Google Play to filter out your app for users of those devices.
- Skipped.
- Skipped.
- Make CardType.getLogoBitmap() a public method.
- Repackage library jar to avoid proguard parsing problems in client apps.
- Fix string display bug in the charge screens.
IMPORTANT: You should delete libs/armeabi*/libcardio.so from your project directory before unzipping the new SDK. This library is obsolete and will only make your .apk bigger if it is included.
- (2.1.2)Fix native library loading bug in Android 4.0.1-4.0.3 that could cause manual entry to be used instead of camera.
- Add capability to suppress manual number entry in scan-only mode.
- Add support for developer provided localization strings in scan-only mode.
- Handle case where device returns locations with a future timestamp that could cause charges to fail.
- Fix NullPointerException on manual entry press in scan only mode.
- Made the charge screens more beautiful.
- Add support for JCB cards.
- Removed first digit card detection from CardType. Use CardType.fromCardNumber(String) instead.
- Remove deprecated CardIOCreditCardResult. Use CreditCard instead.
- Gather additional information for fraud detection.
- Add additional sanity checking for crash prevention.
- Performance improvements in SSL pinning.
- Fix SSL pinning bug in Android 4.0.
- Enhance security with SSL pinning.
- Properly check for the absence of the NEON instruction set in some ARMv7 devices. Notably those based on nVidia Tegra 2.
- Fix bugs relating to cancel/back.
- Ensure the library passes detectAll() checks imposed by StrictMode.setThreadPolicy(...) and StrictMode.setVmPolicy(...) as of Android-14.
- Fix a crash caused by using a recycled bitmap when the user goes back after scanning a card.
- Additional error checking and catching.
- Be more explicit about device problems when we fall back to manual entry.
- Expose more logging to developers.
- Fix crash caused by certain malformed server responses.
- Add connection status messages to logs.
- Correctly report network type. Fixes problems associated with networks other than WiFi or mobile.
- (new!) Support processing charges.
- Rename package io.card.scan to io.card.payments.
- Refactor scan interface. See https://card.io/resources/javadoc/index.html to see a complete list of deprecated methods & constants.
- Updated HTTPS library for better performance while scanning.
- Fixed crashes in Android 4.0/Ice Cream Sandwich.
- First release.