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

37 of 46 tasks
sokra opened this issue Sep 1, 2020 · 22 comments
37 of 46 tasks

webpack 5 release plan #11406

sokra opened this issue Sep 1, 2020 · 22 comments


Copy link

@sokra sokra commented Sep 1, 2020

TL;DR: release planned for 2020-10-10

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 have released 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
    • output.ecmaVersion ->
  • 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...)

Known Problems blocking release:

  • delete x.y.z doesn't work with optimization.concatenateModules: true yet.
  • mini-css-extract-plugin is not fully compatible and there a few problems.
  • html-webpack-plugin doesn't understand the new default automatic publicPath yet. Use output.publicPath: "" instead.
  • target doesn't support individual browser versions yet. Use the general targets for now: target: ["web", "es2020"]
  • The stable webpack-cli shows too verbose output for schema validation problems.
  • new URL with string not starting with ./ or ../ works incorrectly
  • The stats grouping algorithm need still some fine-tuning

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
Copy link

@ycjcl868 ycjcl868 commented Sep 1, 2020

awesome ~

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.

Copy link

@jeremytenjo jeremytenjo commented Sep 1, 2020

Amazing work webpack team 👍

Copy link

@syuilo syuilo commented Sep 2, 2020

Thank you for your hardwork🥰

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 = 👓-🙌- 🙌

Copy link

@Linkontoask Linkontoask commented Sep 3, 2020

Looking forward to!

Copy link

@k644606347 k644606347 commented Sep 3, 2020

Thank you for your hardwork🥰

Copy link

@alexander-akait alexander-akait commented Sep 10, 2020

@isrmicha What is a problem?

Copy link

@csvan csvan commented Sep 12, 2020

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

Copy link

@AlonMiz AlonMiz commented Sep 13, 2020


Copy link
Member Author

@sokra sokra commented Sep 13, 2020

@AlonMiz please create an issue

Copy link

@TheCodingGorilla TheCodingGorilla commented Sep 15, 2020

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

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!

Copy link
Member Author

@sokra sokra commented Sep 20, 2020

Copy link

@jantimon jantimon commented Sep 21, 2020

html-webpack-plugin doesn't understand the new default automatic publicPath yet. Use output.publicPath: "" instead.

Thanks for the heads up ( jantimon/html-webpack-plugin#1514 ) 👍

Is there any api which returns the calculated publicPath?
Right now we are using

@TheLarkInn TheLarkInn added this to the webpack 5 milestone Sep 23, 2020
Copy link

@fwh1990 fwh1990 commented Sep 30, 2020

Who will be faster and more modern between webpack5 and vite?

Copy link

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

Who will be faster and more modern between webpack5 and vite?

Webpack works with any code, not only with Vue3 =)

Copy link

@fwh1990 fwh1990 commented Sep 30, 2020

Who will be faster and more modern between webpack5 and vite?

Webpack works with any code, not only with Vue3 =)

Vite also works with react and other frameworks.

Although Vite is primarily designed to work with Vue 3, it can support other frameworks as well. For example, try npm init vite-app --template react or --template preact.

BTW, webpack is the best tool now.

Copy link

@udayrajMT udayrajMT commented Oct 8, 2020

Thank you for making this game changer tool. Hats off for your hard work! 👏👏

Copy link

@csvan csvan commented Oct 10, 2020

Are we still on for today? :)

Copy link
Member Author

@sokra sokra commented Oct 10, 2020

yep. in about 9 hours...

@sokra sokra closed this Oct 10, 2020
@sokra sokra unpinned this issue Oct 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet