Skip to content

Releases: Shopify/shopify-app-js

@shopify/[email protected]

04 Dec 17:51
64d1c89
Compare
Choose a tag to compare

@shopify/[email protected]

04 Dec 17:51
64d1c89
Compare
Choose a tag to compare

Patch Changes

  • 71b6144: Updated mysql2 dependencies

@shopify/[email protected]

04 Dec 17:51
64d1c89
Compare
Choose a tag to compare

@shopify/[email protected]

04 Dec 17:51
64d1c89
Compare
Choose a tag to compare

@shopify/[email protected]

04 Dec 17:51
64d1c89
Compare
Choose a tag to compare

@shopify/[email protected]

04 Dec 17:51
64d1c89
Compare
Choose a tag to compare

Patch Changes

  • dd2c3f2: Updated @aws-sdk/client-dynamodb dependencies
  • ef41685: Updated @aws-sdk/util-dynamodb dependencies

@shopify/[email protected]

04 Dec 17:51
64d1c89
Compare
Choose a tag to compare

Patch Changes

  • 6910d3d: Updated tslib dependencies
  • 71b6144: Updated mysql2 dependencies

@shopify/[email protected]

04 Dec 17:52
64d1c89
Compare
Choose a tag to compare

Minor Changes

  • 7147103: Add Scopes API documentation for Remix

  • 4bba5d4: Added removeRest future flag.

    When removeRest is true, the REST API will no longer be available. Please use the GraphQL API instead. See Shopify is all-in on graphql for more information.

    If your app doesn't use the REST API, you can safely set removeRest to true and be ready for a future major release. If your app does use the REST API, you should migrate to the GraphQL API and then set removeRest to true.

  • 301882d: Update logging to include Shop information

  • dc75db6: Remove wip_optionalScopesApi future flag and enable the Remix Scopes API by default.

    Example of checking for a granted scope on a shop with scopes.query():

    export const loader = async ({ request }: LoaderFunctionArgs) => {
      const { scopes } = await authenticate.admin(request);
    
      const scopesDetail =  await scopes.query();
    
      return json({
        hasWriteProducts: scopesDetail.granted.includes('write_products'),
      });
    };
    
    export default function Index() {
      const {hasWriteProducts} = useLoaderData<typeof loader>();
    
      ...
    }

    See the Remix Scopes API documentation for more details on this API, and the Manage Access Scopes page on shopify.dev for more context how the Scopes APIs can be used to manage access scopes from one shop to another.

Patch Changes

@shopify/[email protected]

04 Dec 17:52
64d1c89
Compare
Choose a tag to compare

Patch Changes

@shopify/[email protected]

04 Dec 17:52
64d1c89
Compare
Choose a tag to compare

Patch Changes

  • 6910d3d: Updated tslib dependencies