-
-
Notifications
You must be signed in to change notification settings - Fork 5.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
4.0 Roadmap #5933
Comments
Hi I have a question, what drives the decision to replace redux-form to react-final-form during v2->v3 and then switch to formik from v3->v4? License? Render speed? I know the main interface of form components won't change much, but some of the attributes of the components may get changed. |
You also mentioned removing redux-saga. Currently there are still a lot of parts related to the saga in the codebase, including handling of authentications and data fetchings. Is the alternative going to be using react contexts? That is probably the only method to replace saga. Thanks! |
In terms of this major release, will ra-enterprise version also receive new versions in parallel? I am pretty interested in the paid version so I have so many questions to discuss here. |
The same reason: library maintenance. On the other hand, formik is actively maintained and has a positive contribution curve. Finally, react-final-form has 6k stars on GitHub, while Formik has 26k stars. When we made the choice to go with final-form, they were at the same level.
No, 100% of the side effects are handled by pure React side effects and contexts in the curent codebase. The sagas are just here for backwards compatibility.
We'll make re-enterprise modules compatible with 4.0 as soon as it's released. If this can be done without breaking change, then this will be a minor release, otherwise it'll be a major release. |
react-hook-form Suggest |
It would probably be nice to introduce hooks to trigger side effects which could update the store. It would help implementing custom data providers methods which may have to update the data, delete it, etc. For example see #5959. With a |
The |
Extend the |
Did you think about integrating https://github.com/react-hook-form/react-hook-form instead of formik?
Aside from that APIs are similar (we recently replaced formik with react-hook-form in one of our projects with no issues). People are already moving from formik based on the reasons above so maybe think about jumping to |
It is not a huge difference but I was wondering why do you depend on Passed my mind when thought about reducing dependencies list. |
@ValentinnDimitroff No idea when they migrated to clsx. When we started using material-ui, they were using classnames. I guess we focus more on backwards compatibility and they prefer to move fast and break things ;) |
You mention that you plan on removing Is there a migration strategy for those that are using customSagas in such a way, or will the |
Do like we do in the react-admin codebase: combine |
May I ask what lead to the decision to remove redux-saga? What was it used for and how is it replaced now? |
It was used for side effects, and we now use As an example, the react-admin demo doesn't use saga at all. |
@sidescraper please don't post feature requests here. We're adding new features in minor versions. 4.0 will probably add no new feature, but just change the underlying layers that have become a problem. It's all about breaking backwards compatibility. |
Does moving to |
The move to formik will be a breaking change, but for most custom forms, the required change will reduce to changing the package name as the APIs are mostly compatible: -import { Form, Field } from 'react-final-form';
+import { Form, Field } from 'formik'; |
what does the community think about react-hook-form ? I think it's more user friendly when compared to formik. |
I would prefer formik since it it introduces minimal breaking change EDIT 8/3/2021: |
What do you think about removing extra styles? This change will make the components more clearer and compatible with the Material-UI API. I will try to explain in more detail. For example, when using Or when using Other components have similar additional styles. |
@lukin I don't understand the problem you're trying to solve. Could you elaborate? |
@lukin If I understand your suggestion correctly this would break the default FormLayouts. Or do you expect these layouts to inject the custom styles? |
@fzaninotto Yes, that's right. I often have to use custom complex form layouts. By injecting these styles into included layouts (e.g. SimpleForm, TabbedForm), field and input components would be more flexible. |
@wmwart I know this isn't the best place for this message, but I just open sourced this handy package to do just that: https://github.com/andrico1234/ra-acl. It's inspired by Marmelab's ra-auth-acl, and adds hooks and declarative components. |
Please make HRM work with React-Admin! |
Please support next-auth as authentication provider |
@VinayaSathyanarayana Please don't post comments with feature requests that don't need a breaking change here. React-admin releases new features on a daily basis, and doesn't need a major release for that. This discussion is only for backwards-incompatible changes. |
@Romej We haven't planned to write an upgrade guide from 2 to 4. If you want one, I suggest you get in touch with Marmelab to buy some Professional Services. |
Hi, with the migration to 4.0 I've noticed that my app contains multiple nested views on entities that are dependent on other entities. A simple example would be groups and users that are parts of those groups, to attach a user to a group we're using route: |
@CezaryTarnowski-TomTom interesting use case, for which react-admin wasn't originally designed. But it should become more straightforward if you wrap your users page with a ResourceContextProvider. As for your PR, could you elaborate on what you have in mind ? |
I would think about an ability to nest a users resource within groups:
which would make the routes like: |
@CezaryTarnowski-TomTom nice idea. I don't think this requires a breaking change, so it's something we can add later. Your PR will be welcome! |
Would love to be able to modify a resource's routes as I'd like From the doc:
|
*offtopic alert . Just for curiosity, have you guys considered using zero-installs philosophy? |
I don't know what it is, can you please elaborate? |
Thank you all contributors and @fzaninotto on this v4. We're using v3 for one internal project and we're starting new one in few weeks. Is v4 beta production ready? or should I stick with v3 for now? If v4 is not ready, any specific timeline as to when it will be? Thanks 🙏 |
No it's not ready yet. We plan to release a beta very soon though |
I've removed this item from the list:
The rationale for not doing it in v4 is explained in the linked PR. |
I've removed this item from the list:
We're not ready for that and the tradeoff isn't clear - some might say that the trend goes the other way around. |
I've removed this item from the list:
After a few tests, I can't implement it. The mui Drawer component requires a fixed width for its main content. So we'll fall back to the theme (with a custom theme property) that developers can tweak to adjust the menu width. Unforty-unately, this will require a bit of documentation. |
Great news: we've published the first beta release for v4: https://github.com/marmelab/react-admin/releases/tag/v4.0.0-beta.1.0 Please test and report bugs, and regressions as new GitHub issues! |
I'll speak about the changes and new features of react-admin v4 in about a week from now, during a 30 minutes online event. It's free, so feel free to join if you're curious about the future major release of react-admin! https://www.eventbrite.com/e/preview-of-react-admin-v4-tickets-274058445187 |
Hey, |
@djhi |
We've announced a public release of react-admin v4 in April. As for the beta, we're following semver, so there should not be any more breaking changes since the stable release. |
Ohhh, I missed the V4 preview event at preview-of-react-admin-v4. Can this be published on youtube or something else? |
We didn't record the presentation. But we'll soon publish a blog post with essentially the same content. |
@fzaninotto I saw just now that, your team will also remove redux. In our app, we are using custom reducers and our own state in the whole app to manage some data. Can you pls answer these 2 questions taking into consideration the redux thing?
|
@DVGY We've written an extensive Upgrade guide, it contains all the anwsers you need. https://github.com/marmelab/react-admin/blob/next/UPGRADE.md#redux-is-gone |
We've published react-admin v4 today! https://github.com/marmelab/react-admin/releases/tag/v4.0.0 |
We're starting to think about the next major milestone for react-admin. It'll mostly be a cleanup release, removing all the deprecated features and the compatibility layers we put in place. It should also be the occasion to use the latest major version of our dependencies.
Breaking Changes
redux-saga
and saga-based side effects ([BC Break] Remove Redux-saga #6684)connected-react-router
(Remove connected-react-router #6704)react-final-form
withformik
orreact-hook-form
([BC Break] React Hook Form #7087)<Show authenticated={false}>
) (Remove permissions prop injection from main views #6921)useGetOne
([BC Break] Introduce react-query in useGetOne #6779)useGetList
([BC Break] Migrate useGetList to react-query #6916)useGetMany
([BC Break] Migrate useGetMany to react-query #7006)useGetManyReference
([BC Break] Migrate useGetManyReference to react-query #7016)useCreate
([BC Break] Migrate useCreate to react-query #7025)useUpdate
(Update useUpdate to use react-query #6891)useDelete
([BC Break] Migrate useDelete and useDeleteMany to react query #7035)useUpdateMany
([BC Break] Update useUpdateMany to use react-query #7020)useDeleteMany
([BC Break] Migrate useDelete and useDeleteMany to react query #7035)<DataGridHeaderCell>
([BC Break] Change setSort signature to make it consistent acrosse components #7065)currentSort
tosort
#7076)Record
TypeScript name (which already exists in TypeScript) ([BC Break] Rename Record type to RaRecord #7078)basePath
([BC Break] Add support mounting admin inside a sub path #7100)total
) (Partial pagination #7120)RichTextInput
with TipTap version ( Replace Quill RichTextInput With TipTap RichTextInput #7153)addField
) and render propsuseGetList
,useGetMatching
,useGetMany
anduseGetManyReference
consistent (some return a RecordMap, some return an array of records)sx
props in all ra-ui-materialui componentsThese items didn't make it into the release:
Automate integration of authProvider and dataProvider for credentialsNot crucialChange GraphQL Data Provider approach to avoid relying on runtime introspection (Make graphQL provider rely on code generatoin rather than runtime introspection #6639)Will be done in a minor releaseUpdate BooleanInput signature (BooleanInput onChange return boolean instead of event #4273)Use MUI Datagrid instead of our ownMaybe in a future versionWrite codemods to facilitate the upgradeWe won't break BC for another year or two after 4.0, so we'd better wait to incorporate the new major releases of our dependencies. This causes the following releases to be blockers:
useContext
(RFC: Context selectors reactjs/rfcs#119)Timeline
Work on v4 started in September 2021, and is expected to end in early 2022.
Note: Please don't post comments with feature requests that don't need a breaking change here. React-admin releases new features on a monthly basis, and doesn't need a major release for that. This discussion is only for backwards-incompatible changes.
The text was updated successfully, but these errors were encountered: