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

Tracking issue for breaking changes in 4.x #1860

Open
21 tasks
ef4 opened this issue Apr 1, 2024 · 0 comments
Open
21 tasks

Tracking issue for breaking changes in 4.x #1860

ef4 opened this issue Apr 1, 2024 · 0 comments

Comments

@ef4
Copy link
Contributor

ef4 commented Apr 1, 2024

Opening this as a place to keep track of what is currently breaking between 3.x (stable branch) and the upcoming 4.x (main branch).

Planned breaking changes in 4.x

  • modifying app code via broccoli is not going to be supported
  • new index.html location and format required
  • explicit babel config and vite (or webpack) config required
  • strict ES module evaluation order has made some things more eager than before
  • the EMBER_ENV will be controlled via Vite's --mode argument.
  • the app is responsible for the config module, content for 'config-module' code must be moved on the app-side

Currently breaking behaviors that we're working on

  • Embroider CI is currently only testing against ember canary. We plan to expand support backward again but haven't decided how far.
  • we skipped tests for app.import with custom outputPath. We may or may not keep support for this feature.
  • we skipped the watch-mode tests because they need to change structure and it would be better to do that after we've turned off app rewriting. Specific additional things that need to go into those watch tests, because their coverage got dropped from stage2 tests as they no longer live in stage 2:
    • changes in app.css are propagated at rebuild
    • public assets are included
    • updated public asset
    • added public asset
    • removed public asset
  • webpack support is gone right now, we intend to do an inverted-control version of webpack too.
  • We needed to skip some tests in windows because the build was timing out. We should do some basic analysis why things are running so slowly (or hanging) and see if we can re-enable these tests
  • we've skipped engines tests and they need to be re-enabled and fixed before release
  • we've skipped fastboot-app-test and they need to be re-enabled and fixed before release (with possible new way of running fastboot after a vite build)
  • the new format for the env config doesn't support !storeConfigInMeta

Things to clean up before release

  • //TODO move the extra forwardslash handling out into the vite plugin

Things we may want to break but haven't yet

  • staticAddonTrees and staticAddonTestSupportTrees set to false was intended as a more-likely-to-work initial adoption mode. But they break things at least as often as they help, because they aggressively pull files into the build that can have problems. People have have a better adoption experience if we always keep them true and instead document how to identify when some small number of modules are not found at runtime.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant