The changelog below reflects new product development and updates.

July 2, 2024

Runtime SDK v0.5.0

Managed Browser Contexts

You no longer need to run headless browsers like Playwright or Puppeteer on your own infrastructure. Let Anon do the work!

To use this feature, modify the setupAnonBrowserWithContext argument contextOptions to use a new type enum called "managed".

  const { browserContext, browser } = await setupAnonBrowserWithContext(
    client,
    account,
    { type: "managed", input: { }, },
  );

  const page = browser.contexts()[0].pages()[0];

  await executeRuntimeScript({
    client,
    account,
    target: { page },
    initialUrl: "www.example.com",
    run,
  });

Cleanup Options

You can indicate whether or not you want to close your page or browser context when running executeRuntimeScript. This change enables you to control whether you’d like to execute different scripts on the same page or a new one.

To use the feature, you just need to specify the cleanupOptions when running executeRuntimeScript.

  const { browserContext, browser } = await setupAnonBrowserWithContext(
    client,
    account,
    { type: "managed", input: { }, },
  );

  const page = browser.contexts()[0].pages()[0];

  await executeRuntimeScript({
    client,
    account,
    target: { page: page },
    initialUrl: "www.example.com",
    cleanupOptions: { closePage: false, closeBrowserContext: false },
    run: run,
  });

React Native Support

You can now use the Link SDK with React Native for iOS apps! Check out our new documentation to learn more.

Bug Fixes

We’ve improved reliability & support for integrations on iOS and squashed bugs related to hanging logins and false positive success pages.

Hosted UserPools

Now you can create UserPools without the need for a JWKS URI from an external identity provider. Anon can host one for you! Learn how to create a new hosted UserPool in our documentation and API reference.

With a hosted UserPool, you can generate an appUserIdToken using our new [GET /org/appUserIdToken endpoint]((/reference/api/appuseridtoken/issue-a-new-appuseridtoken). Check out our documentation to learn more.

June 15, 2024

Features

Add Session Status and Session Deletion.

Session Status

You can now check the status of an user session. Example usage:

import { Client } from "@anon/sdk-typescript";

const client = new Client({...});
await client.getSessionStatus({ account: { ownerId: "<app_user_id>", domain: "<app_enum>" }});

The response will be { "status": SessionStatusEnum } where SessionStatusEnum is one of:

- "active": Session is valid and ready for automation.
- "revoked": Session is invalid and the user needs to log in again.
- "unknown": Unable to determine the session status.

Session Deletion

You can now delete a user session. Example usage:

import { Client } from "@anon/sdk-typescript";

const client = new Client({...});
await client.deleteSession({ account: { ownerId: "<app_user_id>", domain: "<app_enum>" }});

Check out more detailed usage examples in our SDK reference here.

Was this page helpful?