All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fixed an issue when a merchant's app name contains non-ASCII characters.
- Added Sign in with Klarna tokenization.
- Improved OSM text rendering process.
- Bug fixes and security improvements.
- Added countermeasures for intent redirection vulnerability.
- Added additional logs for Sign in with Klarna integrations.
- Removed enforced consent prompt in Sign in with Klarna integrations.
- Removed unused HTTP url from source.
- Removed remote webview debugging configuration.
- Fixed internal events.
- Enabled Kotlin Explicit API mode.
- Implemented minor internal improvements.
- Fixed the
ClassNotFoundException
issue regarding theKlarnaShareFileProvider
class.
- Added support for customizing the appearance of the On-Site Messaging (OSM) view.
- Fixed the "Learn more" text to not start from a new line in OSM view.
- Fixed encoding issue with non-UTF8 characters in a merchant's app name.
- Fixed class conflict issues due to obfuscation.
- Fixed conflicting FileProvider class manifest merger issue.
- Added NA and OC region support for Sign in with Klarna.
- Added native support for sharing/opening file contents.
- Card scanning results are wiped from memory after usage in the scanning module.
- Minor bug fixes and improvements.
- Bug fixes and stability improvements.
- Updated development and build JDK to JDK 11 and AGP to AGP 7.
- Resolved an issue preventing Sign in with Klarna integration when using a non-AppCompat theme.
- Deleted several internal APIs that were mistakenly exposed in earlier versions.
- Implemented several internal improvements and optimizations to enhance performance and reliability.
- Set the default variant of the SDK to basic.
- Implemented minor internal security fixes and improvements.
- Fixed javascript code execution vulnerability.
- Added URL validations for SDK WebViews.
- Improved Sign in with Klarna Redirects with a separate Activity.
- Updated SDK User-Agents.
- Improved Activity referencing for view operations.
- Improved SDK monitoring.
- Added system browser fallback support for Sign in with Klarna.
- Fixed On-site Messaging link click area.
- Changed default autoFinalize value to null for KlarnaPaymentView.
- Changed the
launchMode
attribute forKlarnaCustomTabActivity
fromsingleTop
tosingleTask
- Minor internal improvements.
- Changed Sign in with Klarna button logo layout.
- Added support for loading indicator for Sign in with Klarna button.
- Improved performance by caching for Sign in with Klarna logins.
- Fixed text scaling issues for native buttons.
- Added support for skipping load calls in legacy tokenize flows.
- Added permission support for hybrid integrations.
- Card scanning results are wiped from memory after usage.
- KlarnaPaymentView is made visible also on authorize call.
- Fixed a proguard issue for fullscreen dialogs.
- Fixed proguard issues for public Sign in with Klarna classes.
- Fixed an issue with cancelling dialogs with the back button.
- Internal Browser now uses dialog fragments instead of an Activity.
- Fixed user cancel false-positives for Sign in with Klarna.
- Fixed proguard issues for internal Sign in with Klarna data classes.
- Fixed blank pages reporting error from background.
- Updated assets.
- Improved monitoring for application lifecycle.
- Added support for permission handling in Separate Fullscreen.
- Fixed redirect URI validation for Sign in With Klarna.
- Removed max width and height limits for KlarnaSignInButton.
- Fixed initial validation errors for KlarnaSignInButton.
- Internal optimization and improvements for Sign In With Klarna.
- Added Sign in with Klarna integration.
- Renamed internal assets of the SDK to fix conflicts with host applications.
- Fixed OkHttp header encoding issues.
- Optimized internal OkHttpClient usage.
- Added Klarna Express Button integration.
- Bug fixes and stability improvements.
- Use English locale in the SDK's internal string functions instead of device's/app's locale configuration.
- Updated SDK assets for Klarna Payments.
- Added support for Klarna Checkout in Standalone, Hybrid and WebView integrations.
- Added
KlarnaCheckoutView
extendsKlarnaSingleComponent
andKlarnaStandaloneComponent
.
- Improved handling of files and links.
- Removed network security config file.
- Improved debugging capabilities during development.
- Minor internal improvements.
- Fixed fullscreen height issue with quick authorize calls for One Klarna payment flows.
- Added
KlarnaComponent
. General class that envelops any Klarna Component, regardless of integration. - Added
KlarnaMultiComponent
. Components conforming to this interface protocol may render multiple products at once. - Added
KlarnaStandaloneComponent
. For components that host and own their content. - Added
KlarnaSingleComponent
. Components conforming to this protocol render a single Klarna product at a time. - Added
KlarnaEventHandler
interface. Provides methods that will notify events happening to a product in a Klarna component. - Added
KlarnaStandaloneWebView
class. - Added
KlarnaEnvironment
enum class. - Added
KlarnaProduct
enum class. - Added
KlarnaProductEvent
data class. - Added
KlarnaOSMRegion
enum class. - Added
KlarnaOSMTheme
enum class. - Added public constructor to
KlarnaProductOptions
data class.
KlarnaPaymentView
extendsKlarnaSingleComponent
andKlarnaStandaloneComponent
.
KlarnaHybridSDK
extendsKlarnaMultiComponent
.
KlarnaOSMView
extendsKlarnaStandaloneComponent
andKlarnaSingleComponent
.
KlarnaOSMEnvironment
is deprecated. UseKlarnaEnvironment
instead.KlarnaOSMRegion
is deprecated. UseKlarnaRegion
instead.KlarnaOSMTheme
is deprecated. UseKlarnaTheme
instead.
KlarnaPostPurchaseSDK
extendsKlarnaSingleComponent
andKlarnaComponent
.
KlarnaPostPurchaseEnvironment
is deprecated. UseKlarnaEnvironment
instead.KlarnaPostPurchaseRegion
is deprecated. UseKlarnaRegion
instead.
- KlarnaOSMView has been made an open class.
- Added Post Purchase standalone integration.
- Added checks for WebView availability on the device.
- Allow verbose logs in debug mode.
- Added support for opening Custom Tabs.
- Added support for "One Klarna" payment flow.
- Minor bug fixes and improvements.
- Updated application lifecycle implementation.
- Disabled some proguard optimizations.
- Changed proguard rules to apply obfuscation in consumer builds for some core parts.
- Updated consumer proguard rules to prevent detected obfuscation issues.
- Fixed an issue with opening external apps from internal browser.
- Fixed an issue caused by render process crash in WebViews.
- Fixed an issue while creating an instance of the SDK in background thread.
- Improved support for 3DSecure flows in new markets.
- Added "returnURL" to the
KlarnaPaymentView
constructor parameters. Read more. - Deprecated
KlarnaHybridSDKCallback
and added separate callbacks for events and fullscreen transitions. Read more. - Internal optimization and improvements.
- Change hardware requirements to be optional.
- Improve transition animation to/from full screen content.
- Added support to open Klarna App in Android API level 30.
- Improve internal parts using random integers and UUIDs.
- Fix string resources with special characters.
- Replaced the default SDK variant to include all features just like the full variant. SDK variant supporting limited features with a smaller size will be the basic variant starting with this version.
- Permissions & WebRTC support.
- Improved fullscreen implementation.
- Reduce singletons for less memory usage.
- Improve internal error handling.
- Support JS Bridge caching.
- Internal optimization and improvements.
- Support for alternative resource endpoints
- Fullscreen keyboard improvements.
- Updated analytic events.
- Revert WebRTC support and fullscreen improvements.
⚠️ This version has some functionality issues: Please use a newer version of the SDK. Future releases with new features will be cautiously checked to prevent these warnings.- WebRTC support.
- Improved fullscreen implementation.
- Internal optimizations.
- Fix obfuscation errors.
- Internal optimizations.
- Updated SDK resources to prevent conflicts.
- Migrated dependencies to AndroidX.
- Internal optimizations and stability improvements.
- Overall stability improvements.
- Fixed an issue with Post Purchase in Hybrid integration.
- Overall stability improvements.
- Fix compile-time errors for some dependencies.
- Minor stability improvements and bug fixes.
- Overall stability improvements and bug fixes.
- Upgraded the target Android SDK version to 30
- Enabled the file access for web views on Android SDK version 30 and above
- Basic support for static On site marketing - beta version
- Added callback API for merchant events from Klarna components inside a WebView.
- Improved API for Java applications.
- Fixed an issue with base64 encoding.
- Improved thread safety for WebView implementations.
- Fixed an issue with internal browser URL parameter and navigation.
- Fixed an issue when the payment view was having blank white space.
- Full artifact with card scan.
- Default/basic artifact without card scan.
- Removed
READ_PHONE_STATE
permission usage and requirement.
- Fixed an issue with the
Context
instance being used to move or create separate web views.
- Fixed an issue with showing an error message inside the web view without hiding it.
- Fix issue with showing fullscreen, primarily affecting post purchase widgets.
- Overall performance and error handling improvements.
- Fixed a crash with
JSONException
inWrapperManager
when initializing the SDK.
- Fixed a Proguard issue that would cause the payment view to not load.
- Internal optimizations.
- Enabled cookies for internal web views.
- Renamed internal assets to avoid merchant app conflicts.
- Improvements of internal web view identification towards Klarna components.
- Fix rare crash with
NullPointerException
when invalid message is sent to the SDK.
- Fix rare crash on certain Android devices with
JSONException
inConfigManager
when initializing the SDK. - Improved link handling in fullscreen web views.