Releases: refinedev/refine
@refinedev/strapi-v4@6.0.9
Patch Changes
-
#6398
10b6d7738738d9fe98db0e7107d1c5ae38b274fa
Thanks @alicanerdurmaz! - fix:transformHttpError.ts
andtransformErrorMessages
files are not swizzling.From now on, these files will be copied to the project.
@refinedev/nestjsx-crud@5.0.10
Patch Changes
-
#6320
5c0f3d83cb424a82431c2f7ae183a94f3e59c39b
Thanks @mehrabmp! - feat: addbetween
filter operatorAdd between operator support to
CrudFilters
import { useTable } from "@refinedev/core"; useTable({ filters: { initial: [ { field: "createdAt", operator: "between", value: [new Date().toISOString(), new Date().toISOString()], }, ], }, });
@refinedev/hasura@6.6.8
Patch Changes
-
#6379
a3fca84847b523d6ac8e7b30bebdb77010e8f7e5
Thanks @BatuhanW! - fix(hasura): pass meta.gqlVariables to getOne gql request.
@refinedev/graphql@7.0.0
Major Changes
-
#6336
58e90f26248ed3d1bc92ae748f03a2cbe71721c2
Thanks @aliemir! - feat: rewrite GraphQL data provider.We've modernized GraphQL dataprovider to make it more flexible and strictly coupled into a specific API schema.
You can utilizeoption
parameter to change the behaviour of the data provider. You can also do it individually for a single action.
We've removedgql-query-builder
andgraphql-request
dependencies and now using@urql/core
as a GraphQL client.
This means now it's required to pass eithergqlQuery
orgqlMutation
to the hooks,meta.fields
usage is removed.
graphql-tag
package is also removed since@urql/core
already hasgql
export to write queries & mutations.
We are no more re-exporting other packages, just our data provider, live provider and defaultOptions.See the updated documentation for more details: https://refine.dev/docs/data/packages/graphql/
@refinedev/devtools@1.2.9
Patch Changes
- Updated dependencies [
da9da4ed1a9700c7a48db6520d683168c48b226e
,451016a207d4dd6aecb4d56133efc1ad6229acff
,da9da4ed1a9700c7a48db6520d683168c48b226e
]:- @refinedev/devtools-server@1.1.37
- @refinedev/cli@2.16.39
@refinedev/devtools-server@1.1.37
Patch Changes
-
#6354
da9da4ed1a9700c7a48db6520d683168c48b226e
Thanks @arndom! - chore: bump express version to latestBump
express
dependecy to^4.21.0
to fix vulnerability inserve-static
.
@refinedev/core@4.55.0
Minor Changes
-
#6330
5a81b35bc1eedbecb4b6c531a2fa5235dd0caf31
Thanks @alicanerdurmaz! - feat: add<Link />
component to navigate to a resource with a specific action. Under the hood, It usesuseGo
to generate the URL.Usage
import { Link } from "@refinedev/core"; const MyComponent = () => { return ( <> {/* simple usage, navigates to `/posts` */} <Link to="/posts">Posts</Link> {/* complex usage with more control, navigates to `/posts` with query filters */} <Link go={{ query: { // `useTable` or `useDataGrid` automatically use this filters to fetch data if `syncWithLocation` is true. filters: [ { operator: "eq", value: "published", field: "status", }, ], }, to: { resource: "posts", action: "list", }, }} > Posts </Link> </> ); };
-
#6330
5a81b35bc1eedbecb4b6c531a2fa5235dd0caf31
Thanks @alicanerdurmaz! - chore: From now on,useLink
returns<Link />
component instead of returningrouterProvider.Link
.Since the
<Link />
component usesrouterProvider.Link
under the hood with leveraginguseGo
hook to generate the URL there is no breaking change. It's recommended to use the<Link />
component from the@refinedev/core
package instead ofuseLink
hook. This hook is used mostly for internal purposes and is only exposed for customization needs.
Patch Changes
-
#6327
c630b090539082b5166b508053f87274624c794e
Thanks @Anonymous961! - fix(core): added ability to returnundefined
to fallback to the default notification config when using the function form insuccessNotification
anderrorNotification
props. -
#6353
a0f2d7bbef3093e11c3024bb7fa2a0ffc3ce9e10
Thanks @alicanerdurmaz! - fix: Thelabel
androute
fields inuseMenu().menuItems
were marked as deprecated, but they are not actually deprecated. This issue was caused bymenuItems
extending fromIResourceItem
, however,menuItems
populates these fields and handles deprecation of these fields internally. This change removes the deprecation warning for these fields.export const Sider = () => { const { menuItems } = useMenu(); menuItems.map((item) => { // these are safe to use console.log(item.label); console.log(item.route); item.children.map((child) => { // these are safe to use console.log(child.label); console.log(child.route); }); }); return <div>{/* ... */}</div>; };
-
#6386
bfe28f0316b3623aaef0b60ae39ebe24939dd0af
Thanks @hugorezende! - fix(core): wrapsetFilters
andsetSorters
methods withuseCallback
to prevent looping re-rendersWith this we can use the setFilters as dependencies inside useEffects without infinite loop since state changes in the hook won't cause the functions to be re-assigned
@refinedev/cli@2.16.39
Patch Changes
-
#6400
451016a207d4dd6aecb4d56133efc1ad6229acff
Thanks @aliemir! - fix(cli): handle errors while fetching dependencies in get-project-typeWhen working with
deno
or missingpackage.json
file, an error was thrown while determining the project type. This was causing the CLI to crash even though the fallbacks were provided. This PR handles such errors ingetProjectType
and lets it use the fallback type. -
#6354
da9da4ed1a9700c7a48db6520d683168c48b226e
Thanks @arndom! - chore(cli): remove unused express dependencyRemoved
express
dependency which triggers a vulnerability warning fromserve-static
. -
Updated dependencies [
da9da4ed1a9700c7a48db6520d683168c48b226e
]:- @refinedev/devtools-server@1.1.37
@refinedev/supabase@5.9.4
Patch Changes
-
#6240
697561ba04abfb570ae978066668583096ea24c0
Thanks @pkarc! - fix(supabase): issue with parsed values when using conditional filtersFixed conditional filter's parsed values while using
contains
,containss
,startswith
andendswith
.
@refinedev/mui@5.21.0
Minor Changes
-
#6271
2b89fbd136b2134f22d38dff8d4a7f24e57e73db
Thanks @Anonymous961! - feat(mui): added loading spinner to<Create />
,<Edit />
and<Show />
componentsThis change introduces a loading spinner to the
<Create />
,<Edit />
and<Show />
components in the@refinedev/mui
package. The spinner provides a visual indication that data is being loaded, improving the user experience bym giving clear feedback during loading states.