Skip to content

Releases: logto-io/react-native

v1.2.0

Choose a tag to compare

@simeng-li simeng-li released this 26 Jun 09:04
2a13db7

Summary

  • Add Expo SDK 56 support to @logto/rn and default the dev setup and sample app to it.
  • Fix web sign-in being blocked as a popup by Safari/Firefox, with a new opt-out flag.
  • Resolve reported dependency vulnerabilities via pnpm overrides.

Changes

Expo SDK 56 support (#65)

  • Widen peerDependencies in packages/rn/package.json so @logto/rn supports Expo SDK 52–56 — expo-crypto, expo-secure-store, and expo-web-browser are now allowed up to <57.
  • Bump dev dependencies to Expo SDK 56 defaults (react-native 0.85, @types/react 19.2).
  • Update the sample app in packages/rn-sample/package.json to Expo SDK 56 (react/react-dom 19.2, react-native 0.85, react-native-web 0.21).

Fix: web sign-in blocked as a popup on Safari/Firefox (#63)

  • On web, super.signIn awaited OIDC discovery, PKCE, and storage before opening the auth window — by then the click's user activation was gone and Safari/Firefox blocked it. The SDK now pre-opens a named blank window synchronously on click and reuses it by name for the auth session, which browsers treat as a navigation rather than a new popup. Native is unaffected. (packages/rn/src/client.ts)

  • New disableWebPopupWorkaround config option (default false) to opt out and open the window directly, e.g. if it conflicts with your own popup handling:

    <LogtoProvider config={{ endpoint, appId, disableWebPopupWorkaround: true }}>

v1.1.0

Choose a tag to compare

@simeng-li simeng-li released this 29 Jan 06:22
4517941

Summary

  • Expand Expo SDK compatibility in @logto/rn while retaining secure storage and browser storage behavior.
  • Default the dev setup and sample app to Expo SDK 54 for smoother local development and examples.

Changes

Upgrade Notes

  • Projects on Expo SDK 52 remain supported; new projects should prefer Expo SDK 54 as the default.
  • After upgrading, reinstall dependencies (pnpm install) and rebuild to pick up the updated native SDK versions.

v1.0.1

Choose a tag to compare

@simeng-li simeng-li released this 27 Apr 02:56
9d885a1

Bug fix

Bump @logto/js and @logto/client to the latest versions to resolve the following issue in react-native:

Unable to resolve "@logto/js" from "node_modules\@logto\client\lib\shim.js".

Related PR.
Related issue #47

pnpm updates

  • Bump pnpm to v10.
  • pnpm-lock file regenerated.
  • Update all CI jobs using pnpm v10.

Other dependency updates

Update the version specification for the @react-native-async-storage/async-storage
Change the version specification from ^1.23.1 to ~1.23.1. This ensures that only patch updates will be installed. Align with other react-native packages' version control policy.

v1.0.0

Choose a tag to compare

@simeng-li simeng-li released this 12 Apr 00:10
5ed2882

Breaking Changes

Bumped the SDK to support the latest Expo 52.

We have upgraded the SDK to support the latest Expo 52. The following peer dependencies have been updated:

  • expo-crypto: ^14.0.2
  • expo-secure-store: ^14.0.1
  • expo-web-browser: ^14.0.2
  • react-native: ^0.76.0

Please ensure that your project uses the latest version of Expo 52 to maintain compatibility.

Bug Fixes

  • Fixed an issue where the browser window did not allow the user to get OTPs. See issue #41 for more details.

v0.4.0

Choose a tag to compare

@simeng-li simeng-li released this 01 Nov 02:50
6776880

Feature update

Update the @logto/client dependency to access support for the latest authentication parameters.

Previous sign-in method:

async signIn(redirectUri: string, interactionMode?: InteractionMode): Promise<void>

Updated sign-in method (backward compatible via function overloading):

override async signIn(options: SignInOptions): Promise<void>;

Newly supported sign-in parameters are:

  • prompt: The OIDC prompt parameter to be used for the authorization request. If specified, it will override the default prompt value (consent) in Logto configs.
  • firstScreen: Customize the first screen users see when they start the authentication process. Learn more.
  • identifiers: Combined with the firstScreen parameter, specify the focused identifier type in the sign-in or sign-up page. Learn more.
  • directSignIn: This parameter bypasses the default sign-in page and invokes a direct social or enterprise SSO sign-in flow. Learn more
  • loginHint: Prepopulate an identifier value to the sign-in and sign-up form. E.g. username or email.
  • extraParams: Extra parameters for the authentication request.

Improvement

Removed the conditional shim exports entry point. The unstable_enablePackageExports setting in Metro is no longer needed, as it may cause issues in other packages. Check this PR for more details.

v0.3.0

Choose a tag to compare

@simeng-li simeng-li released this 20 Aug 06:34
7687c31

Feature update

Add a new isInitialized flag to the logtoContext. This field indicates whether the logtoClient has successfully loaded the authentication status from local storage. Initially set to false, it will be updated to true once the authentication status is fully loaded.

E.g.

const Page = () => {
  const {signIn, signOut, isInitialized, isAuthenticated} = useLogto();

  if (!isInitialized) {
   return "loading...";
  }

  return isAuthenticated ? <Button title="Sign In" onPress={async () => signIn()} /> : <Button title="Sign out" onPress={async () => signOut()} /> 
}

v0.2.0

Choose a tag to compare

@gao-sun gao-sun released this 21 May 03:17
423e005

What's Changed

Full Changelog: v0.1.0...v0.2.0