Skip to content

Latest commit

 

History

History
334 lines (191 loc) · 12.2 KB

File metadata and controls

334 lines (191 loc) · 12.2 KB

Changelog

All notable changes to this project will be documented in this file.

4.x Releases


  • Fix iOS build failure when CocoaPods is configured with use_frameworks! :linkage => :static. The Swift bridging header is now imported using __has_include to prefer the framework-style path when available, with a fallback to the quoted import for static-library builds.
  • Bump iOS SDK to 4.0.1.
  • Bump Android SDK to 4.1.1.

Notes

  • Upgrades the SDK to target the latest verison of Link: v4.
  • Adds support for a new set of bill and account lifecycle events.

Breaking Changes

  • The billRemoved event handler now uses PinwheelBillEvent instead of PinwheelBillSwitchEvent.

Non-breaking Changes

  • An optional accountId field has been added to PinwheelBillSwitchPayload.

New event types

  • billSwitchFailure
  • billAdded
  • billEdited
  • billMarkedInactive
  • billSwitchPlatformsAdded
  • billSwitchPlatformsRemoved
  • billCancelSuccess
  • billCancelFailure
  • calendarSync
  • customerTermsAccepted
  • userActivated

3.x Releases


  • Fix iOS build failure with Xcode 26 (Apple Clang 21+). The fmt library bundled with React Native uses FMT_STRING macros that rely on consteval, which Xcode 26's stricter compiler rejects. This release patches the Podfile to disable consteval in fmt for compatibility.
  • Fix bug blocking react-native-sdk from compiling on the latest Mac OS / Xcode
  • Releases useSecureOrigin option to allow implementors to use a content security policy protected iframe
  • We fixed an expo 54 issue blocking the PinwheelView import
  • Deprecates the isGuidedSwitch field in favor of isIntegratedSwitch in the Bill Switch payload on iOS.
  • Enables more Bill Switch events on Android
  • Deprecates the isGuidedSwitch field in favor of isIntegratedSwitch in the Bill Switch payload.
  • Improves the Bill Switch UX.
  • Fixes exit bug on iOS for Bill Switch products.
  • Fix bug on iOS for Bill Switch products when opening certain hyperlinks.
  • Fixes exit bug on iOS for Bill Switch products.
  • Cosmetic enhacements for Bill Switch products.
  • This version contains a bug (on iOS only) that prevents user exit from Bill Switch products. Payroll-enabled products (Deposit Switch, Verify, etc.) are unaffected and working normally.
  • Added support for Bill Navigator events.

Changed


Changed

  • Updates Android R8/proguard rules to prevent duplicate class errors in some instances.

Changed

  • Internal security enhancements on iOS.

Changed

  • Introduces dark mode support for Link, which can be enabled using the useDarkMode prop.
  • Internal NativeLink support changes to improve conversion rates.

Version bump to align with backend updates and enable internal improvements.

Changed

  • Prevent crash when component is wrapped around a <Modal/>.
  • Internal bugfixes to improve stability in the NativeLink flow.

Improved the modal behavior on iOS to ensure it consistently re-initializes after being closed or unmounted on the React Native New Architecture.

Resolved a stability issue that could cause crashes on iOS 15 devices.

Improved edge-to-edge support on Android by responding to window insets. This behavior is enabled by default and can be customized using the new optional handleInsets prop added to the component.

Changed

  • Introduces support for the React Native New Architecture.
  • Updates sizing/layout logic to improve overall modal responsiveness.

Expand internal functionality to increase conversion rate and upgrade vulnerable dependencies.

Changed

  • Introduces support for additional platforms and integrations, improving conversion rates and overall functionality.
  • Fix the casing of the screenName field in the exported ScreenTransitionEventPayload event payload type.

Important Note:

Some integrations may now require camera access for verification purposes. Ensure the necessary permissions are configured in your project:

Android: Add the following permission to your AndroidManifest.xml:

<uses-permission android:name="android.permission.CAMERA" />

iOS: Add the following key and description to your Info.plist:

<key>NSCameraUsageDescription</key>
<string>We need access to your camera for verification purposes.</string>

Expand internal functionality to support a broader range of platforms and increase conversion rate. Export OtherEventPayload event payload type for the other_event event.

Bugfix: Normalize event names to lower case. Event names began firing as uppercase in versions 3.0.0 and 2.5.0.

Changed Minimum Android SDK requirements to 22

Changed example app Minimum Android SDK requirements to 22

Expand internal functionality to support a broader range of platforms and increase conversion rate.

This new major version bump introduces an updated API to support partner-based switches.

Changed

  • The action field in input_allocation event is now optional.
  • The params field in the success event uses the input_allocation schema with fields action and allocation.

Removed

  • Removed LinkResult type export. This was the old success event payload. The new payload has the same format as the newly exported SuccessEventPayload.
  • Removed EventPayload type export. The event handler function will now be implicitly typed.
  • Removed ScreenTransition type export. Use ScreenTransitionEventPayload instead.
  • Removed EmptyPayloadObject type export.
  • Removed Error type export. Use ErrorEventPayload instead. (Error was marked as deprecated in version 2.)
  • Removed ErrorType type export. Use PinwheelErrorType instead. (ErrorType was marked as deprecated in version 2.)
  • Removed input_amount event. Use input_allocation even instead.
  • Removed PINWHEEL_MESSAGE_TYPES.

2.5.x Releases

2.5.0 | 2.5.1 | 2.5.2 | 2.5.3 | 2.5.4


Bugfix

Normalize event names to lower case. Event names began firing as uppercase in versions 3.0.0 and 2.5.0.

Notes

Changed Minimum Android SDK requirements to 22

Notes

Expand internal functionality to support a broader range of platforms and increase conversion rate.

2.5.1

Notes

  • Internal contract changes

2.5.0

Notes

We're thrilled to announce the latest version of our SDK! While you'll find that our familiar API contract remains unchanged, there's a host of improvements that make this upgrade indispensable:

  • Enhanced Redundancy: 🛡️ We've fortified our systems, ensuring smoother recovery from integration failures for a significant percentage of our traffic.
  • Superior Uptime: 🦾 Reliability is a top priority. This upgrade brings even more robust uptime for DDS integrations.
  • Increased Conversion: ↗️ We are leveraging system level features to increase conversion.
  • Easy Upgrade: 🥧 No changes were made to the API contract. Easy as pie.

2.4.x Releases

2.4.0


2.4.0

  • Removing overrides from main package.
  • Updating example app to use newest ReactNative versions.
  • Changing devDependencies to use newest React Native Webview (for typing).

2.3.x Releases

2.3.4 | 2.3.5 | 2.3.6 | 2.3.10 | 2.3.12 | 2.3.13 | 2.3.14 | 2.3.17


2.3.17

Export ScreenTransition event payload type for the screen_transition event.

2.3.14

Remove hermes-engine and shell-quote sub-dependencies from package-lock files.

2.3.13

Bump hermes-engine and shell-quote sub-dependency package.

2.3.12

Add CircleCI scripting and local scripts.

  • Add npm run dev script.
  • Remove need for hardcoding api secret in code to run locally.

2.3.10

Use node 16.7.0 instead of 12.16.1 to install dependencies.

N/A

N/A

Added

  • Export EventPayload type.
  • Export PinwheelError type.
  • Export PinwheelErrorType type.
  • Export EmptyPayloadObject type as Record<string, never>.
Updated
  • EventPayload is no longer a union containing {}. It now contains Record<string, never> instead due to this behavior.
  • Mark exported Error type as @deprecated because it collides with the built-in javascript Error object. Replaced with PinwheelError.
  • Mark exported ErrorType type as @deprecated because the new naming convention is prefixing with "PinwheelError". Replaced with PinwheelErrorType.
  • Update onExit type to be (error: PinwheelError | Record<string, never>) to be accurate with current functionality.