openpanel/packages/appwrite/CHANGELOG.md
Stefan Pejcic 09f9f9502d packages
2024-11-07 19:03:37 +01:00

20 KiB

@refinedev/appwrite

7.0.1

Patch Changes

7.0.0

Major Changes

  • #6138 d4809d6e9cfd7b311ab8ba1fa27c21cb50e1bc17 Thanks @soranoo! - feat(package/appwrite): update Appwrite SDK to v15

    Updated appwrite SDK version to v15 to match latest server version. Depending on your server version upgrading to this version should be safe but may require some changes in your codebase if you are using appwrite SDK directly.

    If you're using the data-provider-appwrite example as base or created your app using the create-refine-app CLI, your auth provider implementation may require a small change in the login method:

    -      await account.createEmailSession(email, password);
    +      await account.createEmailPasswordSession(email, password);
    

    Resolves #6090

6.5.3

Patch Changes

6.5.2

Patch Changes

6.5.1

Patch Changes

  • #5928 db9756e7908 Thanks @aliemir! - fix: type errors on typescript <5

    Due to the changes in #5881, typescript users below version 5 are facing type errors. This PR fixes the type errors by updating the file extensions required by the d.mts declaration files to provide a compatible declarations for both typescript 4 and 5 users.

6.5.0

Minor Changes

  • #5886 f3ddcce0bf5 Thanks @abdelrahman-essawy! - fix: add ability to customize default permission without explicitly passing them on each mutation

    fixing an issue which didn't allow users to override the default readPermissions / writePermissions values Role.any(), by passing defaultReadPermissions / defaultWritePermissions OR by passing meta?.readPermissions / meta?.writePermissions.

Patch Changes

6.4.8

Patch Changes

  • #5765 0c197d82393 Thanks @aliemir! - refactor: package bundles and package.json configuration for exports

    Previously, Refine packages had exported ESM and CJS bundles with same .js extension and same types for both with .d.ts extensions. This was causing issues with bundlers and compilers to pick up the wrong files for the wrong environment. Now we're outputting ESM bundles with .mjs extension and CJS bundles with .cjs extension. Also types are now exported with both .d.mts and .d.cts extensions.

    In older versions ESM and CJS outputs of some packages were using wrong imports/requires to dependencies causing errors in some environments. This will be fixed since now we're also enforcing the module type with extensions.

    Above mentioned changes also supported with changes in package.json files of the packages to support the new extensions and types. All Refine packages now include exports fields in their configuration to make sure the correct bundle is picked up by the bundlers and compilers.

  • #5754 56ed144a0f5 Thanks @alicanerdurmaz! - chore: TypeScript upgraded to v5.x.x. #5752

6.4.7

Patch Changes

6.4.6

Patch Changes

6.4.5

Patch Changes

6.4.4

Patch Changes

  • #5022 80513a4e42f Thanks @BatuhanW! - chore: update README.md

    • fix grammar errors.
    • make all README.md files consistent.
    • add code example code snippets.

6.4.3

Patch Changes

  • #5022 80513a4e42f Thanks @BatuhanW! - chore: update README.md

    • fix grammar errors.
    • make all README.md files consistent.
    • add code example code snippets.

6.4.2

Patch Changes

6.4.1

Patch Changes

6.4.0

Minor Changes

6.3.0

Minor Changes

6.2.0

Minor Changes

6.1.0

Minor Changes

  • Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk!

    • metaData prop is now deprecated for all data provider methods. Use meta prop instead.

      For backward compatibility, we still support metaData prop with refine v4.

      create: async ({
      -    metaData
      +    meta
      }) => {
          ...
      },
      
    • sort, hasPagination, and metaData parameters of getList method are now deprecated. Use sorters, pagination, and meta parameters instead.

      For backward compatibility, we still support sort, hasPagination and metaData props with refine v4.

      getList: async ({
      -    sort
      +    sorters
      -    hasPagination
      +    pagination: { mode: "off" | "server | "client" }
      -    metaData
      +    meta
      }) => {
          ...
      },
      
  • Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk! Moving to the @refinedev scope 🎉🎉

    Moved to the @refinedev scope and updated our packages to use the new scope. From now on, all packages will be published under the @refinedev scope with their new names.

    Now, we're also removing the refine prefix from all packages. So, the @pankod/refine-core package is now @refinedev/core, @pankod/refine-antd is now @refinedev/antd, and so on.

Patch Changes

5.7.0

Minor Changes

5.6.0

Minor Changes

5.5.0

Minor Changes

  • Only or was supported as a conditional filter. Now and and or can be used together and nested. 🚀

    {
      operator: "or",
      value: [
        {
          operator: "and",
          value: [
            {
              field: "name",
              operator: "eq",
              value: "John Doe",
            },
            {
              field: "age",
              operator: "eq",
              value: 30,
            },
          ],
        },
        {
          operator: "and",
          value: [
            {
              field: "name",
              operator: "eq",
              value: "JR Doe",
            },
            {
              field: "age",
              operator: "eq",
              value: 1,
            },
          ],
        },
      ],
    }
    

5.4.0

Minor Changes

  • #2751 addff64c77 Thanks @yildirayunlu! - Only or was supported as a conditional filter. Now and and or can be used together and nested. 🚀

    {
      operator: "or",
      value: [
        {
          operator: "and",
          value: [
            {
              field: "name",
              operator: "eq",
              value: "John Doe",
            },
            {
              field: "age",
              operator: "eq",
              value: 30,
            },
          ],
        },
        {
          operator: "and",
          value: [
            {
              field: "name",
              operator: "eq",
              value: "JR Doe",
            },
            {
              field: "age",
              operator: "eq",
              value: 1,
            },
          ],
        },
      ],
    }
    

5.3.0

Minor Changes

  • Updated dataProvider types with Required utility to mark getMany, createMany, updateMany and deleteMany as implemented.

5.2.0

Minor Changes

  • #2688 508045ac30 Thanks @aliemir! - Updated dataProvider types with Required utility to mark getMany, createMany, updateMany and deleteMany as implemented.

5.1.0

Minor Changes

5.0.0

Major Changes

4.3.0

Minor Changes

  • Update type declaration generation with tsc instead of tsup for better navigation throughout projects source code.

4.2.0

Minor Changes

  • #2440 0150dcd070 Thanks @aliemir! - Update type declaration generation with tsc instead of tsup for better navigation throughout projects source code.

4.1.0

Minor Changes

    • Added databaseId support. The Default value is default for backward compability
    • Upgraded Appwrite SDK to version 9

    Usage

    import { Refine } from "@pankod/refine-core";
    import { Account, Appwrite, Storage } from "@pankod/refine-appwrite";
    
    const APPWRITE_URL = "https://YOUR_COOL_APPWRITE_URL";
    const APPWRITE_PROJECT = "YOUR_PROJECT_ID";
    
    const appwriteClient = new Appwrite();
    
    appwriteClient.setEndpoint(APPWRITE_URL).setProject(APPWRITE_PROJECT);
    
    <Refine
        dataProvider={dataProvider(appwriteClient, {
            databaseId: "default",
        })}
        liveProvider={liveProvider(appwriteClient, {
            databaseId: "default",
        })}
        ...
        ...
    />
    

    Breaking changes of Appwrite SDK

    Usage of Storage

    //old way
    import { Appwrite } from "@pankod/refine-appwrite";
    const appwriteClient = new Appwrite();
    
    appwriteClient.storage.createFile("BUCKET_NAME", rcFile.name, rcFile);
    
    //new way
    const appwriteClient = new Appwrite();
    const storage = new Storage(appwriteClient);
    const { $id } = await storage.createFile("BUCKET_NAME", rcFile.name, rcFile);
    

4.0.0

Major Changes

  • #2270 d05e4bdde7 Thanks @omeraplak! - - Added databaseId support. The Default value is default for backward compability

    • Upgraded Appwrite SDK to version 9

    Usage

    import { Refine } from "@pankod/refine-core";
    import { Account, Appwrite, Storage } from "@pankod/refine-appwrite";
    
    const APPWRITE_URL = "https://YOUR_COOL_APPWRITE_URL";
    const APPWRITE_PROJECT = "YOUR_PROJECT_ID";
    
    const appwriteClient = new Appwrite();
    
    appwriteClient.setEndpoint(APPWRITE_URL).setProject(APPWRITE_PROJECT);
    
    <Refine
        dataProvider={dataProvider(appwriteClient, {
            databaseId: "default",
        })}
        liveProvider={liveProvider(appwriteClient, {
            databaseId: "default",
        })}
        ...
        ...
    />
    

    Breaking changes of Appwrite SDK

    Usage of Storage

    //old way
    import { Appwrite } from "@pankod/refine-appwrite";
    const appwriteClient = new Appwrite();
    
    appwriteClient.storage.createFile("BUCKET_NAME", rcFile.name, rcFile);
    
    //new way
    const appwriteClient = new Appwrite();
    const storage = new Storage(appwriteClient);
    const { $id } = await storage.createFile("BUCKET_NAME", rcFile.name, rcFile);
    

3.27.0

Minor Changes

  • All of the refine packages have dependencies on the @pankod/refine-core package. So far we have managed these dependencies with peerDependencies + dependencies but this causes issues like #2183. (having more than one @pankod/refine-core version in node_modules and creating different instances)

    Managing as peerDependencies + devDependencies seems like the best way for now to avoid such issues.

3.26.0

Minor Changes

  • #2217 b4aae00f77 Thanks @omeraplak! - All of the refine packages have dependencies on the @pankod/refine-core package. So far we have managed these dependencies with peerDependencies + dependencies but this causes issues like #2183. (having more than one @pankod/refine-core version in node_modules and creating different instances)

    Managing as peerDependencies + devDependencies seems like the best way for now to avoid such issues.

3.25.2

Patch Changes

  • Updated pagination parameters default values and added hasPagination property to getList method of the data providers.

    Implementation

    Updated the getList method accordingly to the changes in the useTable and useList of @pankod/refine-core. hasPagination is used to disable pagination (defaults to true)

    Use Cases

    For some resources, there might be no support for pagination or users might want to see all of the data without any pagination, prior to these changes this was not supported in refine data providers.

  • Updated dependencies []:

    • @pankod/refine-core@3.36.0

3.25.1

Patch Changes

  • #2050 635cfe9fdb Thanks @ozkalai! - Updated pagination parameters default values and added hasPagination property to getList method of the data providers.

    Implementation

    Updated the getList method accordingly to the changes in the useTable and useList of @pankod/refine-core. hasPagination is used to disable pagination (defaults to true)

    Use Cases

    For some resources, there might be no support for pagination or users might want to see all of the data without any pagination, prior to these changes this was not supported in refine data providers.

  • Updated dependencies [ecde34a9b3, 635cfe9fdb]:

    • @pankod/refine-core@3.35.0

3.22.2

Patch Changes

  • Updated dependencies [2deb19babf]:
    • @pankod/refine-core@3.23.2