Skip to content
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

Upcoming breaking changes (v17) #1769

Closed
7 tasks done
emmenko opened this issue Sep 30, 2020 · 16 comments
Closed
7 tasks done

Upcoming breaking changes (v17) #1769

emmenko opened this issue Sep 30, 2020 · 16 comments
Labels
💅 Type: Enhancement Improves existing code

Comments

@emmenko
Copy link
Member

emmenko commented Sep 30, 2020

This issue aims to give an overview of all the breaking changes we would like to introduce in the next major version v17.

@tdeekens
Copy link
Contributor

Remove deprecated hostnames

I am not sure we can do that yet. Accordingly to my knowledge customers are still relying on them. The hostname migration date at least is postponed until January next year. We can remove them here if there is no change for old published versions though.

React Router to v6 + History to v5

I fear this would entail a lot of work internally. Maybe we can smoothen the migration out internally but evaluating changes we need to make first.

Remove experimentalRenderAppWithRedux, instead expose a RealApolloProvider component wrapper that can be passed as ApolloProviderComponent option to renderApp and renderAppWithRedux

Would it possible to do this in a two step migration. First expose the wrapper and allow passing it. Recommend to migrate until the then next major v18 and only then remove it?

@adnasa
Copy link
Contributor

adnasa commented Sep 30, 2020

I agree with Tobi's points above.

I personally feel that this is a lot of work for a single major version.
We can for example go with removing experimentalRenderAppWithRedux and that itself is a breaking change on its own.
Same for the Apollo v3 migration and react router.

Can we break them down to different releases/version instead of one?
I think we should align the release strategy here and involve PM

@emmenko
Copy link
Member Author

emmenko commented Sep 30, 2020

I fear this would entail a lot of work internally.

It is a lot of work yes. I just mentioned it as optional but more likely we won't be able to do it yet. React router v6 is still in beta also, so we should wait for a stable release at least.

Would it possible to do this in a two step migration. First expose the wrapper and allow passing it. Recommend to migrate until the then next major v18 and only then remove it?

The migration would be very simple. But also given that the method is called "experimental" I would just remove it without worrying much about it.

@tdeekens
Copy link
Contributor

React router v6 is still in beta also, so we should wait for a stable release at least.

Yeah I just wonder if we can refactor out app to be as compatible as possible already.

The migration would be very simple. But also given that the method is called "experimental" I would just remove it without worrying much about it.

Fine by me. Just wanted to mention that we can also add a step to smoothen things internally.

@emmenko
Copy link
Member Author

emmenko commented Sep 30, 2020

@adnasa only the stuff marked as optional is more work, which is why is listed as optional.
The rest (besides the apollo migration which we already finished like 80%) is just removing stuff that was basically deprecated.

So I wouldn't split that stuff.

@adnasa
Copy link
Contributor

adnasa commented Oct 5, 2020

Remove the extract-intl command

I'm not sure what the plan is and if we should do this. Please elaborate

My guess is that we want to remove this because it is assumed that it is not used. MC-FE is still using this command. If we are sure (and data supports it) that this isn't needed by external custom app devs, we can maybe move this script into the MC-FE repo.

@emmenko
Copy link
Member Author

emmenko commented Oct 5, 2020

I'm not sure what the plan is and if we should do this. Please elaborate

The new @formatjs/cli kind of replaces our custom script. Appkit and uikit already use the new CLI, so in theory we should be able to use that for our internal apps as well.
Therefore, the extract-intl command is not necessary anymore, especially from a Custom Application point of view.

So what we can do is remove the command in our internal apps first, just to make sure everything works. But from a Custom Application point of view it shouldn't be necessary anymore.

@adnasa
Copy link
Contributor

adnasa commented Oct 5, 2020

ah okay. clear, thanks for clarifying

@adnasa
Copy link
Contributor

adnasa commented Oct 6, 2020

We can remove #1773 from the check list above. I don't think that should be blocking a v17 release.
I realised now that be possible to migrate sdk-get away from enzyme without having to use msw for it.

@emmenko
Copy link
Member Author

emmenko commented Oct 7, 2020

I moved the enzyme task to optional for the release.
We should plan it better, for example by allowing users to still opt-in even if we remove it from our tooling.

@emmenko
Copy link
Member Author

emmenko commented Oct 8, 2020

We worked on all the important breaking changes. I'll work on the release notes to have it ready for release.

@tdeekens
Copy link
Contributor

Would you want to remove the disabledMenuItems in this release to or wouldn't you consider it breaking as it's an undocumented API and it can be removed later at any point?

@emmenko
Copy link
Member Author

emmenko commented Oct 12, 2020

We can remove it I suppose yes. We don't need to document it in the release notes then.

Do you want to open a PR?

@adnasa
Copy link
Contributor

adnasa commented Oct 12, 2020

I don't think the disabledMenuItems needs to be documented

@tdeekens
Copy link
Contributor

I don't think the disabledMenuItems needs to be documented

🕊️ Sounds good to me. Just wanted to mention it ☮️

@emmenko emmenko unpinned this issue Oct 26, 2020
@emmenko
Copy link
Member Author

emmenko commented Oct 26, 2020

Closing this. The leftover items have been moved to a new issue: #1829

@emmenko emmenko closed this as completed Oct 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💅 Type: Enhancement Improves existing code
Projects
None yet
Development

No branches or pull requests

3 participants