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

webpack 5 release plan #11406

Open
sokra opened this issue Sep 1, 2020 · 13 comments
Open

webpack 5 release plan #11406

sokra opened this issue Sep 1, 2020 · 13 comments
Labels

Comments

@sokra
Copy link
Member

@sokra sokra commented Sep 1, 2020

TL;DR: release planned for 2020-10-10, RC about ~1 month before that.

After nearly 1 year of beta testing and about 2 years of development we feel that it's time to release webpack 5 soon. As promised we do announce the release at least one month earlier to allow the ecosystem to catch up. To support that we will release a Release Candidate (RC) soon-ish in about 1-2 weeks. Once the RC has been released we try to avoid breaking changes (expect for experimental features, or when absolutely necessary).

We will use the time until the release to:

  • Fix bugs
  • Update the changelog to give a good picture of the changes
  • Update the migration guide
  • Create a separate migration guide for plugin developers
  • Update the documentation so that at least a majority of webpack 5 features is documented.
  • Update important ecosystem components to be webpack 5 compatible
    • webpack-cli
    • webpack-dev-server/middleware
    • mini-css-extract-plugin
  • Write in-deep guides to the new features
  • Improve deprecation messages and add better warnings for breaking changes

This is works out great we release webpack 5 at 2020-10-10 because it's a cool date.

Note that while we consider webpack 5 as pretty stable, there are probably still many bugs and problems. Some are expected breaking changes, some are bugs that we missed. If you have problems upgrading make sure to read the migration guide and changelog where we places some hints how to fix these problems and/or why we did some of the breaking changes. If you still run into problems, it might be a bug or something is missing in the migration guide/changelog, please report an issue.

Note that some of the experimental features are still incomplete. They are excluded from SemVer for webpack and we continue to develop them...

Note that minor bugs won't prevent us from releasing. The release is more about finishing breaking changes then about a super stable release. We will release minor/patch version very often to address bugs and add more feature (as we have done with webpack 4).


We are not yet ready for a release candidate. The following breaking changes need to be implemented before the RC can be released:

  • resolving: resolve.fallback and imports field need to be added
    • We consider this a very small breaking change as imports field is rarely used and only incorrectly imports field would break
  • stats: The stats format and defaults need to be improved for readability (Status: breaking changes done)
    • While mainly affecting the text format, the JSON format might be affected as well.
    • assets grouping
    • modules grouping
    • entrypoints verbosity
    • summary
    • size color scale
    • avoid MiB in favor of KiB
    • 1000s separator in size numbers
    • hide [emitted]/[built] when all assets/modules shown have it
    • highlight filename, lowlight path
    • sort assets by size
    • hint about error details
  • assets: The asset experiment will be enabled by default.
    • This enables new URL parsing in modules and this can break code.
  • WebWorker: Add worker experiment to handle new Worker(new URL("./worker", import.meta.url)), etc.
    • This is not a breaking change, but we might figure out the some internal breaking changes are needed to implement that. That's why it need to be pushed for the RC.
  • node.js compat: The mjs experiment will be enabled by default. This affects .mjs files and type: "module" in package.json.
    • Affect files are handled more strict and certain constructs are forbidden. Resolving is also affected (extension is required).
  • module concatenation: refactor to make it a first class citizen
  • changelog: The changelog is outdated and need to be updated for recent changed (Status: beta.21 -> beta.30 missing)
  • improved target option
    • handle in defaulting
    • externalsPresets
    • loader.target
    • output.ecmaVersion -> output.environment.xxx
    • output.environment.global
  • enhanced-resolve, loader-runner and webpack-sources from beta -> stable
  • output.publicPath: "auto" as default?
  • Known bugs:
    • Module Concatenation: delete a.b.c is broken (Status: Parsing need to be changed a bit)
    • Module Federation: Circular remotes are broken (Stats: requires a breaking change on the API)
  • (list might be incomplete...)

Please don't report any outstanding issues in this thread. Please create a new issue (Reference this issue)!

This thread is reserved for feedback how happy you are that webpack 5 is released, to post positive experience with webpack 5 if you already tried the beta and to post any announcements that ecosystem loaders/plugins/tools are webpack 5 compatible.

I'll update the issue with more information when available.

@sokra sokra pinned this issue Sep 1, 2020
@hiroppy hiroppy added the webpack-5 label Sep 1, 2020
@ycjcl868
Copy link

@ycjcl868 ycjcl868 commented Sep 1, 2020

awesome ~

@artem-malko
Copy link

@artem-malko artem-malko commented Sep 1, 2020

As for me, webpack 5 became super-fast against its 4 version. Built-in cache works perfectly) And it wasn't to hard to switch from webpack 4 to webpack 5!

There are some issues, how to migrate my own loaders and plugins, but there are just some warnings, and it is nice, cause you (webpack team) have made so many cool features, and there is no serious problems with version switching.

@tenjojeremy
Copy link

@tenjojeremy tenjojeremy commented Sep 1, 2020

Amazing work webpack team 👍

@syuilo
Copy link

@syuilo syuilo commented Sep 2, 2020

Thank you for your hardwork🥰

@davidcalhoun
Copy link

@davidcalhoun davidcalhoun commented Sep 2, 2020

Thank you! Looking forward to this, especially the ability to output modules, which is why I'm using Rollup at the moment for library code. Looking forward to moving over to just using Webpack.

BTW: 2020-10-10 = 👓-🙌- 🙌

@Linkontoask
Copy link

@Linkontoask Linkontoask commented Sep 3, 2020

Looking forward to!

@k644606347
Copy link

@k644606347 k644606347 commented Sep 3, 2020

Thank you for your hardwork🥰

@evilebottnawi
Copy link
Member

@evilebottnawi evilebottnawi commented Sep 10, 2020

@isrmicha What is a problem?

@csvan
Copy link

@csvan csvan commented Sep 12, 2020

Module Federation is going to be a gamechanger for us. Very much looking forward to it!

@AlonMiz
Copy link

@AlonMiz AlonMiz commented Sep 13, 2020

GREAT NEWS 🎉

@sokra
Copy link
Member Author

@sokra sokra commented Sep 13, 2020

@AlonMiz please create an issue

@TheCodingGorilla
Copy link

@TheCodingGorilla TheCodingGorilla commented Sep 15, 2020

Really looking forward to Module Federation. Thank you for all yours and the teams hard work. 🙇

@smoliakov
Copy link

@smoliakov smoliakov commented Sep 16, 2020

I am sure Module Federation will change microfrontends, looking forward to using it!
It`s a geat work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.